Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliverySet malicious HTML in user/org name or custom attribute option
-
ExploitWait for admin/agent to open attribute config dialog
-
ExecutionRaw label rendered unescaped in browser
-
ImpactJavaScript executes in privileged session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization HTML tag escaping
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated attacker able to control a rendered option label - e.g. setting a malicious user or organization name used as a relation-attribute label, or supplying a crafted custom attribute option value (PR:L). Execution is gated on a privileged admin or agent subsequently opening the affected object-attribute / AI Agent options configuration view in the Zammad admin UI, so a victim interaction is effectively required despite the vector's UI:N. Limited to Zammad instances prior to 7.1.2; no exploitation against default configuration without an attacker-influenced label and a victim viewing the config dialog. |
| Impact | This is a stored/DOM cross-site scripting flaw (CWE-80) in Zammad's admin UI, specifically the object_attribute_options_context element used in AI Agent and object-attribute configuration dialogs, where option labels are emitted as raw HTML ( |
| Exploit ScenarioDerived | A low-privileged authenticated user (or an attacker who can influence a user/organization name or a custom attribute option value) sets a name/label containing an HTML/JavaScript payload such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Stored cross-site scripting in the Zammad helpdesk admin UI (all versions prior to 7.1.2) lets an authenticated attacker inject arbitrary HTML and JavaScript through unsanitized option labels that are rendered as raw HTML in the object-attribute / AI Agent options configuration dialog; the payload executes in the browser of any admin or agent who subsequently opens the affected configuration view. Exploitation requires the attacker to control a rendered label - for example by setting a malicious user or organization name that is later used as a relation-attribute label, or by supplying a crafted custom attribute option value - and then depends on a privileged victim opening that view. Zammad 7.1.2 fixes the flaw; no public exploit code and no confirmed active exploitation were identified at time of analysis (CVSS 5.3, no CISA KEV listing).
RemediationAI
Vendor-released patch: upgrade to Zammad 7.1.2 or later, which switches the Eco template to escaped output (<%= option.label %>) and replaces App.i18n.translateInline with App.i18n.translatePlain for option labels, as detailed in advisory https://github.com/zammad/zammad/security/advisories/GHSA-r95m-ghj7-646x and commit https://github.com/zammad/zammad/commit/74b4fd4db62dc3652bb9db24096a2fbd1b56dc7f . If immediate upgrade is not possible, apply compensating controls that break the attacker-controlled-label prerequisite: restrict who can create or rename users and organizations and who can define or edit custom attribute option values (least privilege on those admin capabilities), since the payload depends on an attacker-supplied label - the trade-off is reduced flexibility for helpdesk and admin workflows that legitimately let agents maintain organization/contact names and custom attributes. Also limit access to the admin UI and to the object-attribute/AI Agent configuration views to trusted administrators (side effect: broader operational duties must be delegated to fewer accounts), and consider a Content-Security-Policy on the Zammad admin interface to blunt script execution, understanding that nonce/hash maintenance and third-party asset requirements can be disruptive. Administrators should also review and clean existing user, organization, and custom attribute option values for HTML/script markup, since already-stored labels remain dangerous in unpatched instances.
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
The root cause is CWE-80 (Improper Neutralization of Script-Related HTML Tags in a Web Page), a stored/DOM cross-site scripting class issue. Zammad's admin UI is a single-page CoffeeScript/Spine application built on Eco (Embedded CoffeeScript) templates. In the template app/assets/javascripts/app/views/generic/object_attribute_options_context.jst.eco the selected-option row was emitted with the raw-output tag <%- option.label %>, which Eco renders as unescaped HTML, rather than the escaping form <%= option.label %>. Supporting code in app/assets/javascripts/app/controllers/_ui_element/object_attribute_options_context.coffee additionally passed labels through App.i18n.translateInline(), which returns HTML-marked translation output, instead of App.i18n.translatePlain(). The upstream fix (commit 74b4fd4db62dc3652bb9db24096a2fbd1b56dc7f, advisory GHSA-r95m-ghj7-646x) swaps the Eco tag to the escaping variant and switches translateInline to translatePlain so labels are treated as text, and adds a QUnit regression test that asserts an <img src=x onerror=...> payload neither injects an image element nor executes for hash-form options, array-form options (buildFlatOptions), and relation-derived labels (displayName()). The affected component covers the object_attribute_options_context UI element used in AI Agent and object-attribute configuration dialogs; the CPE string cpe:2.3:a:zammad:zammad:*:*:*:*:*:*:*:* indicates the whole product line is treated as affected below the fixed release.
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:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N
Authenticated attacker sets a label (PR:L); payload fires only when an admin/agent opens the config view (UI:R); XSS executes in the victim's browser crossing trust boundary (S:C) with limited C/I impact, no 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.1.2, unsanitized option labels are rendered in the configuration dialogs of AI Agents within Zammad's admin UI. When rendering the list of selected options, the option label is output as raw HTML without escaping. An attacker who can control an option label, for example by setting a malicious string as a user or organization name used in a relation attribute, or by supplying a crafted custom attribute option value, can inject arbitrary HTML and JavaScript. The payload executes in the browser of any admin or agent who opens the affected object attribute configuration view. This issue is fixed in version 7.1.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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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-87262
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB