Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege agent
-
DeliveryQuery integration endpoint with guessed ticket ID
-
ExploitBypass missing per-ticket authorization check
-
ExecutionHarvest linked GitHub/GitLab issue metadata
-
ImpactEnumerate across all ticket IDs
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation 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 agent account (any privilege level, including one with zero assigned tickets) and the GitHub and/or GitLab issue-tracker integration configured with tickets that have linked external issues. The attacker calls the integration query action with a ticket_id parameter; because the pre-7.0.2 controller only performed authenticate_and_authorize! without a per-ticket authorize!(ticket, :show?), it discloses linked-issue metadata for tickets the agent has no rights to see. Limiting factors: exploitation is confined to authenticated internal users, exposes only issue metadata (titles, status, labels, URLs) rather than ticket contents or API tokens, and yields nothing if no tickets in the instance use the GitHub/GitLab integration. |
| Impact | This is a genuine but low-severity authorization flaw (CWE-862, broken object-level access control / IDOR). The NVD CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:N/VA:N) correctly captures the shape: network-reachable, low complexity, requires an authenticated low-privilege agent account, and yields only limited confidentiality impact (issue titles, status, labels, and URLs of linked GitHub/GitLab issues) with no integrity or availability impact. The UI:P designation is questionable - the source diff shows the vulnerable Integration::GitHubController/GitLabController #query action only ran authenticate_and_authorize! (a coarse permission check) without a per-ticket authorize!(ticket, :show?), so an attacker can enumerate ticket IDs programmatically with no victim interaction; I assess UI:N, which slightly raises real-world accessibility but the impact ceiling stays low. There is no EPSS score, no CISA KEV listing, and no public exploit code identified at time of analysis, consistent with a low-priority internal-threat issue rather than an actively exploited one. Net: this is a real data-isolation defect worth patching, but it is a bounded information-disclosure issue exploitable only by already-trusted internal agents, not a high-urgency remotely-weaponizable vulnerability. The single confirmed limiting factor is that it exposes only metadata of externally-linked issues, not ticket bodies or credentials. |
| Exploit ScenarioDerived | A low-privileged Zammad agent with no assigned tickets scripts requests to the GitHub/GitLab integration query endpoint, iterating over sequential or random ticket IDs. Because the controller authorized only the caller's general permission and never checked per-ticket visibility, the server returns the titles, status, labels, and URLs of GitHub/GitLab issues linked to any other agent's or admin's tickets, letting the insider harvest cross-organization issue metadata. No public exploit code is known, but the attack is trivial to automate given a valid agent session. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 25, 2026
Missing per-ticket authorization in Zammad's GitHub and GitLab issue-tracker integration endpoints prior to 7.0.2 lets any authenticated agent - including one with no tickets assigned - enumerate ticket IDs and read the titles, statuses, labels, and URLs of external GitHub/GitLab issues linked to tickets they are not permitted to see. The flaw carries CVSS 5.1 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N), reflecting a low-confidentiality-impact disclosure confined to authenticated internal users, and yields nothing on instances where the GitHub/GitLab integration is not configured or no tickets carry linked issues. No public exploit code or active exploitation has been identified at time of analysis; the vendor shipped Zammad 7.0.2 as the fix.
RemediationAI
The primary fix is to upgrade Zammad to 7.0.2 or later (release: https://github.com/zammad/zammad/releases/tag/7.0.2), which introduces the shared Integration::IssueTrackerController base class that enforces per-ticket authorization on the GitHub and GitLab query endpoints; the underlying code changes are visible in commits c767f32c006ff9842152f78e12f355f7f485304f and e50ef69beab897317caa5e9490edba33aa1ac978, and the vendor advisory GHSA-96hh-fmj3-h4hp should be consulted for any additional guidance. Where immediate upgrade is not possible, the most effective compensating control is to disable the GitHub and GitLab integrations in Zammad's admin settings, which removes the affected query endpoints from normal operation at the cost of losing issue-link previews and automatic metadata refresh for agents who legitimately rely on them; note that merely removing the API token stops new lookups but existing cached link metadata may remain visible in tickets. Because the flaw requires only an ordinary authenticated agent account, organizations should also review agent accounts for unnecessary or stale access, tighten onboarding/offboarding of agent credentials, and - if external issue links must be retained during the remediation window - limit which tickets may carry GitHub/GitLab links to those handled exclusively by trusted staff. Detection is difficult from application logs alone, so monitoring for bursts of integration query requests iterating sequential ticket_id values is a worthwhile interim signal.
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-862 (Missing Authorization) manifesting as a broken object-level access control / IDOR flaw in Zammad's external issue-tracker integrations. Prior to 7.0.2, app/controllers/integration/github_controller.rb and app/controllers/integration/gitlab_controller.rb inherited directly from ApplicationController and applied only prepend_before_action :authenticate_and_authorize!, which verifies that the caller is a logged-in, authorized agent but performs no authorization against the specific ticket being requested. The query action accepted params[:ticket_id], called Ticket.find(params[:ticket_id]) without an authorize!(ticket, :show?) check, and passed the ticket to Service::Ticket::ExternalReferences::IssueTracker::TicketList, which returned external issue metadata (titles, status, labels, URLs) from the linked GitHub or GitLab repository. Notably, the sibling update action in the same controllers did call authorize!(ticket, :show?) inside ticket.with_lock, so the read path was inconsistent with the write path - evidence of an oversight rather than an intentional design decision. The fix refactors both controllers under a new shared base class, Integration::IssueTrackerController, centralizing the integration_type and integration_client hooks and, per the commit history (c767f32c006ff9842152f78e12f355f7f485304f and e50ef69beab897317caa5e9490edba33aa1ac978), restoring per-ticket authorization on the query path. Affected instances are those running the Zammad web application (CPE cpe:2.3:a:zammad:zammad) with the GitHub and/or GitLab integration enabled and at least one ticket carrying external issue links.
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:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Authenticated low-privilege agent (PR:L) enumerates ticket IDs over the network with no victim interaction (UI:N); only limited metadata is disclosed (C:L), no integrity or availability impact.
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, this vulnerability breaks normal ticket isolation boundaries between agents. Any authenticated agent, even one with no active tickets assigned to them, can view the titles, status, labels, and URL links of GitHub/GitLab issues attached to any ticket in the system. This allows an internal user to systematically view GitHub/GitLab issue data linked by other agents or administrators across the organization by simply querying random or sequential ticket IDs. 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
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-87212
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB