Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend email with crafted img srcset
-
DeliverySanitizer passes external srcset URL
-
ExploitAgent opens ticket in browser
-
ExecutionBrowser silently loads attacker URL
-
ImpactLeak agent IP/User-Agent/Referer/view-time
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires only that the attacker send an HTML email to a Zammad instance running a version prior to 7.0.2 / 7.1.0, using an <img> tag whose srcset attribute references an external (http/https/ftp/protocol-relative) URL - the HtmlSanitizer::Strict allowlisted srcset for img but, unlike src, never applied the external-URL block. The limiting factor is required user interaction (UI:P): the leak only fires when a support agent actually opens the ticket containing the malicious image in a browser that honors srcset; it also depends on the instance being unpatched. No authentication is needed (PR:N - anyone who can email the helpdesk qualifies), and the default configuration is vulnerable. |
| Impact | This is a genuine but low-severity privacy/information-disclosure issue, not a code-execution or data-theft flaw. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N, score 5.3) correctly captures network delivery, no attacker authentication, and required user interaction (an agent must open the ticket), but VI:L (integrity) is overstated - the described impact is purely disclosure of the viewing agent's metadata (IP address, User-Agent, Referer, and exact view timestamp) with no modification of any system data. There is NO EPSS score, NO CISA KEV listing, and NO public exploit code identified at time of analysis, so this is 'no public exploit identified at time of analysis.' The practical bar is trivial to trigger (attacker only sends an email with a crafted srcset), which makes exploitation reliable, but the payoff is limited to tracking-pixel-grade reconnaissance rather than compromise. Net: a real, easily-triggered privacy leak but a low real-world priority - a modest-CVSS, modest-impact issue confined to a niche self-hosted product. No conflicting signals across sources; the description, commit diff, and CVSS all agree on scope. |
| Exploit ScenarioDerived | An attacker emails the helpdesk an ordinary-looking support message whose HTML body contains an <img> tag with a srcset attribute pointing to an attacker-controlled server. Zammad's Strict sanitizer strips external URLs from src but not srcset, so when a support agent opens the ticket their browser silently fetches the attacker URL, leaking the agent's IP address, User-Agent, Referer, and the precise time the ticket was read. No public exploit code exists, but the attack requires only sending an email and works against unpatched default installs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Information disclosure in Zammad lets any sender capable of emailing a helpdesk instance embed an arbitrary external URL in the srcset attribute of an image, so that the agent's browser silently fetches attacker-controlled content the moment the ticket is viewed. Zammad's HtmlSanitizer::Strict blocked external URLs in the src attribute but left the equally allowlisted srcset attribute unchecked, leaking the agent's IP address, User-Agent, Referer and the precise viewing time to the sender. All releases before 7.0.2, and 7.1.x releases before 7.1.0, are affected; fixes are available in 7.0.2 and 7.1.0, and no public exploit code was identified at time of analysis. The impact is a privacy/tracking leak rather than code execution or data theft, and it depends on an agent actually opening the crafted ticket in a browser that honours srcset.
RemediationAI
Vendor-released patch: upgrade to Zammad 7.0.2 or 7.1.0, which extend HtmlSanitizer::Strict to strip external URLs from srcset candidates (see advisory GHSA-7fwx-3xr4-qm6w, commit 02c1ff8dc65961352dc047013bece9dff1f2ffb7, and release pages for 7.0.2 and 7.1.0). If immediate upgrade is not possible, the most effective compensating control is to stop Zammad from rendering inbound e-mail HTML at all, or to pre-strip srcset from message bodies before tickets are created - this removes the vector entirely but degrades rich e-mail rendering and can hide legitimate inline images. A weaker but lower-friction option is to have agents view tickets with browser image loading, remote content and referrer sending disabled for the Zammad origin; this blocks the callback but relies on per-agent configuration and on the browser honouring those settings for srcset. Egress filtering or a forward proxy that blocks agent workstations from reaching arbitrary external hosts would also neutralise the beacon, at the cost of breaking legitimate outbound browsing unless the rule is scoped to the Zammad client hosts. Note that these workarounds reduce, but do not eliminate, the leak of viewing metadata once any external request succeeds, so patching remains the recommended course and no compensating control should be treated as equivalent to the vendor fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Zammad is a Ruby on Rails helpdesk/ticketing platform that renders inbound e-mail HTML after passing it through an internal sanitizer (lib/html_sanitizer/scrubber/wipe.rb, HtmlSanitizer::Strict). That scrubber maintains an attribute allowlist, and for image tags it permitted both src and srcset. The src path was already hardened by remove_unsafe_src, which rejected javascript/livescript/vbscript protocols and, more importantly, flagged any remote URL beginning with http://, https://, ftp:// or a protocol-relative // as remote content. The srcset path had no equivalent logic, so an attacker could simply place the external URL in srcset instead of src and defeat the remote-content protection. The assigned CWE-82 (improper neutralization of script in attributes of img tags) describes the attribute-level sanitization gap, though the practical consequence here is passive privacy leakage rather than script execution. The vendor fix adds remove_unsafe_srcset, which parses the srcset value using the HTML specification's srcset parsing state machine (correctly handling candidate URLs, descriptors such as width/density, commas inside data: URLs, and URL-encoded characters), drops any candidate whose decoded URL uses an unsafe protocol or resolves to a remote host, removes the srcset attribute if nothing safe remains, and removes the whole node if it then has no src. Supporting helpers (unsafe_protocol?, unsafe_link_protocol?, remote_url?) were factored out of the existing link/src checks, and the scrubber's style/class handling was refactored in the same commit (02c1ff8dc65961352dc047013bece9dff1f2ffb7). The affected CPE entry, cpe:2.3:a:zammad:zammad:*:*:*:*:*:*:*:*, is an unversioned wildcard, so version scoping must come from the advisory rather than the CPE string.
Know when Zammad gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Unauthenticated attacker sends email (PR:N, AV:N, AC:L) but leak fires only when an agent views the ticket (UI:R); impact is limited metadata disclosure (C:L) with no integrity or availability effect.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Zammad is a web based open source helpdesk/customer support system. Prior to 7.0.2 and 7.1.0, zammad's HTML sanitizer (HtmlSanitizer::Strict) blocks external URLs in to prevent remote content loading, but the srcset attribute, also allowlisted for , is not subject to the same check. This oversight allows an attacker to embed arbitrary external URLs in the srcset attribute just by sending an e-mail, effectively bypassing the external content protection. When an agent views the ticket containing the malicious srcset, the browser will silently load the attacker-controlled URL, resulting in the leakage of the agent's IP address, User-Agent, Referer, and the exact time the ticket was viewed. HtmlSanitizer::Strict got extended to block external URLs in the srcset attribute of tags. This was done to prevent tracking pixels and external content loading, which could compromise user privacy. This issue is fixed in versions 7.0.2 and 7.1.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Session hijacking in self-hosted Zammad 6.3.0 through 6.5.4 allows remote, unauthenticated attackers to take over a legi
Local privilege escalation in Zammad lets an attacker who already controls the unprivileged 'zammad' service account ele
An issue was discovered in Zammad before 1.0.4, 1.1.x before 1.1.3, and 1.2.x before 1.2.1. Rated critical severity (CVS
An issue was discovered in Zammad before 1.0.4, 1.1.x before 1.1.3, and 1.2.x before 1.2.1, caused by lack of a protecti
Zammad 5.2.0 is vulnerable to privilege escalation. Rated critical severity (CVSS 9.8), this vulnerability is remotely e
An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
An issue was discovered in Zammad before 3.4.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
An issue was discovered in Zammad before 6.3.0. Rated critical severity (CVSS 9.1), this vulnerability is remotely explo
Zammad's SSO auto-linking logic can be abused to take over any existing local account, including agent and administrator
An access control issue in Zammad v5.0.3 allows attackers to write entries to the CTI caller log without authentication.
An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.1), this vulnerability is remotely explo
EUVD-2026-87215
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB