Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Zammad administrator
-
DeliveryCall LDAP/Exchange integration API (job_try)
-
ExploitReceive unmasked secrets in response
-
ExecutionHarvest cleartext bind_pw/EWS password/OAuth token
-
ImpactReuse credentials against internal LDAP/Exchange
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery 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 Zammad administrator account (PR:H) and that the LDAP and/or Exchange integration be configured with stored credentials (bind password, EWS password, or OAuth access token). The attacker queries the integration administration API - specifically the import job_try responses - where sensitive fields are inconsistently masked and raw request params leak into the returned ImportJob payload. Limiting factors: exploitation is confined to users already holding full administrative privileges, affects only instances that actually use the LDAP or Exchange integrations, and yields disclosure only (no code execution or data modification). Fixed in 7.1.2; affected in 7.0.3 and 7.1.1. |
| Impact | This is a genuine but low-priority confidentiality flaw. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N) is internally consistent with the description: network-reachable admin API, but PR:H means the attacker must already hold Zammad administrator rights. That single gate dramatically narrows real-world risk - the only new capability gained is reading stored LDAP bind and Exchange EWS secrets in cleartext instead of the masked placeholder, i.e. a privilege that a full admin can largely already reach by other means. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no signal of active or likely exploitation. The commit and regression tests confirm the mechanism (unmasked sensitive fields plus raw request params leaking into the ImportJob payload response), so the vulnerability itself is confirmed, but exploitation status is 'no public exploit identified at time of analysis.' Net: a real hardening fix worth applying, not an urgent emergency - the value lies in credential exposure enabling lateral movement into the connected LDAP/Exchange directory, not in initial compromise. |
| Exploit ScenarioDerived | A malicious or compromised Zammad administrator queries the LDAP or Exchange integration administration API (e.g. the job_try GET endpoint) and receives the configured bind password, EWS password, or OAuth access token in cleartext rather than the expected masked value. The recovered directory/mailbox credentials can then be reused to authenticate directly against the organization's Active Directory/LDAP or Microsoft Exchange environment. No public exploit code is identified; exploitation requires existing administrator access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Zammad 7.0.3 and 7.1.1 return stored LDAP and Exchange integration credentials in cleartext through the integration administration API, allowing an authenticated administrator to read secrets the UI is supposed to mask. Because the vulnerable endpoints are the import 'job_try' responses, a user holding full admin rights - and only such a user - can recover the LDAP bind password, the Exchange EWS password, or a stored OAuth access token, plus raw request parameters that leak into the persisted ImportJob payload. Per the supplied vector the issue requires high privileges (PR:H) and results in confidentiality impact only, with no code execution or data modification; there is no public exploit identified at time of analysis, and the vendor-released fix is Zammad 7.1.2.
RemediationAI
Vendor-released patch: upgrade to Zammad 7.1.2, which is the fixed version per the advisory and the referenced commit (GHSA-48h2-wv8r-fgp9, commit fab2e2e9dac97b298d2c0f84b526aae2b1e6afab), where the import job sensitive-field allow-list now masks payload.ldap_config.bind_pw, payload.ews_config.password and payload.ews_config.access_token and the raw params echo is removed. Because the exposed values were already readable in plaintext by anyone with access to the affected endpoints, patching alone is insufficient: rotate the LDAP bind account password, the Exchange EWS password, and any stored Exchange OAuth access token immediately after upgrading, and roll the LDAP service account if it was reused elsewhere. Compensating controls for the window before patching are limited and have trade-offs - narrowing the set of Zammad administrator accounts (and auditing API tokens with admin rights) reduces who can read the job_try responses but does not remove the disclosure for legitimate admins, and blocking external or non-admin-network access to /api/v1/integration/ldap/job_try and /api/v1/integration/exchange/job_try at a reverse proxy prevents remote retrieval while breaking normal integration troubleshooting through those endpoints; scrubbing existing logs, monitoring exports, and browser caches for the leaked bind password, EWS password, or access token is also warranted since the plaintext may have been recorded before the upgrade.
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/customer-support application, and the flaw sits in its integration controllers (Integration::LdapController and Integration::ExchangeController) which inherit from the shared concern app/controllers/concerns/integration/import_job_base.rb. That concern is responsible for filtering sensitive attributes out of serialized responses via a sensitive_attributes hook, but it had no knowledge of the credential-bearing fields inside the ImportJob payload, and the Exchange controller additionally echoed the raw request params into the job payload. The upstream fix (commit fab2e2e9dac97b298d2c0f84b526aae2b1e6afab) introduces an IMPORT_JOB_SENSITIVE_FIELDS constant on the base class and overrides sensitive_attributes so that, for ImportJob objects, the listed paths are masked with the SensitiveParamsHelper::SENSITIVE_MASK placeholder: payload.ldap_config.bind_pw for LDAP, and payload.ews_config.password plus payload.ews_config.access_token for Exchange. The same commit removes the params field from the Exchange payload_dry_run path. This is a CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) masking/allow-list failure: the secrets are stored correctly and encrypted-at-rest is not claimed, but the read API did not consistently apply the redaction that other code paths did, so an API consumer with sufficient privileges received the plaintext value instead of the expected placeholder.
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:N/VA:N/SC:N/SI:N/SA:N
Network admin API but requires administrator privileges (PR:H); confidentiality-only disclosure of stored secrets, no integrity or availability impact, no scope change.
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. In 7.0.3 and 7.1.1, an authenticated administrator can obtain stored integration credentials in cleartext through the integration administration API. Certain responses do not consistently mask sensitive fields, so configured secrets can be returned in plain text instead of the expected masked placeholder. Both the LDAP and Exchange integrations are affected. 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
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-87266
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB