Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend email/create ticket with crafted <img src>
-
DeliveryInjected element bypasses HTML sanitizer
-
ExploitAgent opens the ticket in browser
-
ExecutionBrowser auto-requests /api/v1/signout with session cookie
-
ImpactViewer's session terminated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Requires an affected Zammad instance prior to 7.0.2 whose HTML sanitizer fails to strip image/srcset references to same-origin state-changing GET endpoints (/api/v1/signout, /api/v1/sessions/switch/N, /api/v1/sessions/switch_back, /api/v1/getting_started/auto_wizard/token). The attacker must get crafted HTML into a ticket body (achievable unauthenticated via inbound email, or authenticated via ticket creation), AND a second user must subsequently VIEW that ticket in a browser with an active session (UI:P) - this victim interaction is the primary limiting factor. Impact is bounded to terminating/altering the viewer's session; there is no data exposure or code execution, and no special non-default configuration is required beyond running a vulnerable version. |
| Impact | This is a genuinely low-to-moderate issue that the CVSS 4.0 score (5.3, MEDIUM) already frames accurately as an availability-only problem. The vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L confirms no confidentiality (VC:N) or integrity (VI:N) impact - the only consequence is VA:L, terminating the viewing user's session. Exploitation is network-borne and low-complexity, but requires victim interaction (UI:P): an agent must actually open the malicious ticket. There is no EPSS score, no CISA KEV listing, and no public exploit identified at time of analysis, so no signals point to active or imminent exploitation; the fix commit and its RSpec test cases do, however, publicly document the exact payload ( |
| Exploit ScenarioDerived | An attacker sends an email to the Zammad helpdesk (or otherwise creates a ticket) whose body contains an image tag pointing at a same-origin state-changing GET endpoint, e.g. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Session-termination vulnerability in Zammad helpdesk/customer-support deployments running versions prior to 7.0.2: the HTML sanitizer fails to strip same-origin Zammad API paths from <img> src and srcset attributes, so crafted ticket HTML can reference endpoints such as /api/v1/signout, /api/v1/sessions/switch/N, /api/v1/sessions/switch_back, or /api/v1/getting_started/auto_wizard/<token>, causing the viewing agent's session to be terminated or switched when the ticket is rendered. The attack is unauthenticated per the CVSS 4.0 vector (PR:N) and can be delivered via inbound-email-created tickets, but it requires a second user to view the crafted ticket (UI:P) and is bounded to session availability with no data disclosure or code execution. CVSS 4.0 scores it 5.3 (MEDIUM) and an independent assessment rates it CVSS 3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L; no public exploit code or CISA KEV entry was identified at time of analysis, and the vendor released 7.0.2 with an allowlist restricting /api/ image sources to attachment endpoints.
RemediationAI
Vendor-released patch: 7.0.2. Upgrade all Zammad instances to 7.0.2 or later; the release tag and commit 3f6e8a5fa34eb0ce40f63292cf744f5f2992c9d0 contain the sanitizer fix that allowlists only api/v1/attachments/ and api/v1/ticket_attachment/ under /api/ for image src/srcset while still permitting safe relative assets and /users/image/ paths. If an immediate upgrade is not possible, apply compensating controls with their trade-offs: configure the inbound mail gateway or Zammad's email processing to strip or convert HTML bodies to plain text before ticket creation, which blocks the crafted <img>/srcset payloads but removes rich formatting and inline images for all users; alternatively, filter ticket HTML at the mail boundary to reject any src or srcset value containing /api/v1/signout, /api/v1/sessions/switch, /api/v1/sessions/switch_back, or /api/v1/getting_started/auto_wizard, which is narrower but requires maintaining an endpoint blocklist. Additional defense-in-depth options include shortening session lifetimes and requiring re-authentication for state-changing GET endpoints, and monitoring web logs for unexpected same-origin /api/v1/signout or session-switch requests originating from ticket rendering, though these reduce rather than eliminate the impact if a victim still clicks into or previews a poisoned ticket. No public exploit code or CISA KEV entry was identified at time of analysis, so the urgency is routine patch-cycle rather than emergency, but the fix should be scheduled promptly given the low attack complexity and unauthenticated delivery path.
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 sanitizes inbound ticket HTML (including email-originated bodies) through a custom scrubber implemented in lib/html_sanitizer/scrubber/wipe.rb. The root-cause class is CWE-20 (Improper Input Validation): the sanitizer correctly rejected unsafe protocols and remote URLs in src and srcset, but treated same-origin path-relative references such as '/api/v1/signout' as safe, even though a browser will dereference them against the Zammad host and issue an authenticated GET that changes session state. The upstream fix (commit 3f6e8a5fa34eb0ce40f63292cf744f5f2992c9d0, shipped in release 7.0.2) introduces an ALLOWED_ZAMMAD_API_PATHS allowlist containing only api/v1/attachments/ and api/v1/ticket_attachment/, and adds an unsafe_api_path? helper that normalizes leading './' and '../' path-traversal prefixes, then rejects any remaining path matching /api/ unless it prefixes or exactly equals an allowed content endpoint; non-API paths such as /assets/images/... and /users/image/... continue to pass. The same check is applied to both src and srcset values, closing the alternate delivery vector; tests added in the commit cover signout, sessions/switch, sessions/switch_back, auto_wizard, and srcset cases, and confirm allowed attachment/avatar paths still render without being flagged as removed remote content. The affected CPE, cpe:2.3:a:zammad:zammad:*:*:*:*:*:*:*:*, covers all Zammad versions before 7.0.2 with no version boundary in the CPE itself.
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:N/VI:N/VA:L/SC:N/SI:N/SA:N
Network-delivered via ticket content (AV:N, AC:L), unauthenticated ingestion possible (PR:N), but requires the victim agent to open the ticket (UI:R); only the viewer's session availability is affected (A:L, C/I:N), same security authority so S:U.
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, vulnerability in Zammad's HTML sanitization allows injection of specific HTML elements into ticket bodies. When another user views the crafted ticket, the injected element can trigger a logout request, terminating the viewer's session. This vulnerability is fixed in 7.0.2.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
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-87219
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB