Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain admin with AI-Agent edit rights
-
DeliveryInject nested ERB opener into agent field
-
ExploitSanitizer escapes only first opener
-
ExecutionAI Agent processes a ticket
-
PersistInner ERB executes as Zammad process
-
ImpactArbitrary commands / full data compromise on host
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 authenticated Zammad administrator with permission to create or edit AI Agents, and the Zammad AI Agent feature must be in use so that an agent processes tickets. The attacker enters a specially crafted value containing a nested ERB opener (e.g. |
| Impact | This is a genuine remote code execution flaw, not a mislabeled DoS - the RCE tag and CVSS 4.0 impact metrics (VC:H/VI:H/VA:H) are accurate and corroborated by the fix commit, which patches an ERB (embedded Ruby) template-injection primitive in lib/erb_sanitizer.rb. The critical mitigating signal is PR:H: the CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N) and the description agree that exploitation requires an administrator already holding permission to create or edit AI Agents, so this is a privileged-insider / post-compromise-admin escalation to host command execution, not an unauthenticated internet-facing exploit. There is no EPSS score, no CISA KEV listing, and no packaged public exploit at time of analysis - so exploitation status is 'no public exploit identified' - however the fix commit's added spec cases publicly disclose the exact bypass payload ( |
| Exploit ScenarioDerived | An administrator (or an attacker who has phished/compromised an admin account) with AI-Agent edit rights enters a crafted field value such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Authenticated administrators of the Zammad helpdesk platform (versions prior to 7.1.2) can achieve remote code execution on the Zammad server by injecting specially crafted text into an AI Agent configuration field that bypasses the application's ERB sanitizer. Because the pre-7.1.2 sanitizer used Ruby's .sub and escaped only the first <% opener, an attacker with AI Agent create/edit permissions can smuggle a nested ERB tag (e.g. <%<%= ... %>) that executes automatically the next time the affected agent processes a ticket, with no interaction from other users required; this yields full read/write/delete access to data on the host (VC:H/VI:H/VA:H). The flaw is a genuine remote code execution issue, not a mislabeled availability problem, and it requires admin-level privileges (PR:H) plus the optional AI Agent feature being in active use; no public exploit code or confirmed active exploitation was identified at time of analysis, and the vendor fix ships in Zammad 7.1.2 (GHSA-gp3x-9xm8-rcj6).
RemediationAI
Upgrade to Zammad 7.1.2 or later, which contains the vendor fix (Ruby .sub replaced with .gsub in lib/erb_sanitizer.rb) that escapes every <% opener and neutralizes nested ERB payloads; the advisory is at https://github.com/zammad/zammad/security/advisories/GHSA-gp3x-9xm8-rcj6 and the patch commit is https://github.com/zammad/zammad/commit/e3b0c8df91ad2108c8305be23e8fe6f73fb9718d. If immediate upgrading is not possible, reduce exposure by restricting the AI Agent create/edit permission to the smallest possible set of trusted administrators, since exploitation requires PR:H (admin-level) access and the malicious payload only fires when an agent processes a ticket - this lowers likelihood but does not eliminate the flaw for already-trusted admins. If the AI Agent feature is not operationally required, disabling it removes the attack surface entirely, at the cost of losing AI-assisted ticket handling; otherwise, treat any pre-7.1.2 admin-level AI Agent field as an untrusted code execution path and plan the upgrade as the only complete fix. There is no vendor-released patch for versions prior to 7.1.2 other than upgrading to 7.1.2.
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 web application used as an open-source helpdesk and customer support system, and its AI Agent feature renders administrator-supplied configuration fields through an ERB (Embedded Ruby) templating layer. The root cause is a classic incomplete input-validation/neutralization flaw (CWE-20) that manifests as server-side template injection: the sanitizer in lib/erb_sanitizer.rb attempted to neutralize ERB openers using Ruby's String#sub, which replaces only the first matching occurrence of <%, rather than gsub, which replaces all of them. By submitting a value containing a nested opener such as <%<%= 1 + 1 %>, the outer <% is escaped but the inner <%= ... %> survives sanitization and is later interpreted as executable Ruby when the agent processes a ticket. The upstream fix (commit e3b0c8df91ad2108c8305be23e8fe6f73fb9718d) changes .sub('<%', '<%%') to .gsub('<%', '<%%') and adds regression specs confirming that single-tag-nested and doubly-nested openers now render as literal text instead of executing. The CPE record cpe:2.3:a:zammad:zammad:*:*:*:*:*:*:*:* confirms all prior Zammad releases are in scope; the template-injection primitive is the enabling mechanism for the RCE classified under the RCE tag.
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:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Admin-level AI Agent edit rights required so PR:H; triggered remotely over the web UI with no other-user interaction (AV:N/UI:N); yields full host RCE hence C:H/I:H/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Zammad is a web based open source helpdesk/customer support system. Prior to 7.1.2, a security filter that protects Zammad's AI Agent configuration can be bypassed by entering specially crafted text into one of an AI Agent's fields. An administrator with permission to create or edit AI Agents could exploit this to run arbitrary commands on the server that hosts Zammad, potentially reading, modifying, or destroying all data stored on that server. No interaction from other users is needed; the malicious code runs automatically the next time the affected AI Agent processes a ticket. This issue is fixed in version 7.1.2.
Technical POC Analysis
Evidence note: the supplied evidence is the GitHub advisory GHSA-gp3x-9xm8-rcj6 only.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Zammad helpdesk deployments running versions prior to 7.1.2 with the optional AI Agent feature enabled are exposed to remote code execution, where an account holding AI Agent create/edit permissions can inject crafted content that executes on the Zammad host the next time a ticket is processed. Successful exploitation grants full read, write, and delete access to data on that host, meaning customer conversations, ticket history, and any credentials or integrations reachable from the server are at risk. Leadership should care because the affected system typically holds the organization's most sensitive customer communications, and the attack path requires no action from other users, so a single over-privileged or compromised administrator account is sufficient to compromise the platform.
Apply vendor patch (upgrade to Zammad 7.1.2). Until the upgrade is complete, disable the optional AI Agent feature, restrict AI Agent create/edit permissions to fully trusted administrators, audit existing AI Agent configurations for nested ERB tags such as <%<%=, and rotate credentials reachable from the Zammad host.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
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-87245
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB