Skip to main content

Zammad CVE-2026-84461

| EUVDEUVD-2026-87267 MEDIUM
Observable Discrepancy (CWE-203)
2026-09-25 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify target Zammad account login
  2. Delivery
    Submit password guess to 2FA initiation endpoint
  3. Exploit
    Observe response revealing password correctness
  4. Execution
    Iterate without lockout or rate limiting
  5. Impact
    Confirm valid credentials for reuse

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication Timing-safe comparisons
Exploitation Conditions

Exploitation targets the two-factor authentication login/initiation flow of a network-reachable Zammad instance prior to 7.1.2; the vulnerable endpoint verified the account password and disclosed its correctness before the second factor was evaluated, while being exempt from the normal failed-login lockout and rate limiting. No authentication or user interaction is required (PR:N/UI:N), and default configurations are affected. The practical prerequisite is that the targeted account uses two-factor authentication (so the initiation endpoint is in play); the payoff is greatest against accounts with weak or reused passwords, since the endpoint yields no direct access on its own. The primary limiting factor is that the second authentication factor still blocks actual login - the flaw's concrete impact is unlimited password brute-forcing and credential-validity disclosure, not authentication bypass.

Impact

The input CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 6.9) describes a network-reachable, low-complexity, unauthenticated flaw with confidentiality-only impact (VC:L, VI:N, VA:N), which is internally consistent with the description: the two-factor login initiation endpoint validated the password and disclosed whether it was correct before the 2FA check, while bypassing Zammad's normal failed-login lockout and rate limiting. There is no EPSS score, no CISA KEV listing, and no public exploit code referenced - so the signal set is 'no public exploit identified at time of analysis.' Real-world risk is moderate rather than critical: the flaw does not directly grant access (an attacker still needs to pass the second factor), but it turns the 2FA initiation flow into an unlimited password oracle that enables offline-quality brute-forcing of weak or reused passwords and account-existence/credential-validity enumeration. The confidentiality-only rating is appropriate - the vulnerability itself leaks credential-validity information rather than achieving compromise. This is best treated as a meaningful hardening priority for internet-exposed Zammad instances (especially where password policies are weak), not an emergency. The commit confirms the fix adds explicit throttling (3 attempts/minute by login identifier), unifies error responses to a generic 'username or password is incorrect' message to remove the oracle, and stops counting the authenticated password re-check against lockout - corroborating that the root cause was both a missing rate limit and an observable response discrepancy (CWE-203).

Exploit ScenarioDerived

A remote unauthenticated attacker targets an internet-facing Zammad instance and repeatedly submits password guesses against the two-factor authentication initiation endpoint for a chosen account. Because the endpoint reveals whether each password is correct before the 2FA step and does not trigger lockout or rate limiting, the attacker brute-forces weak or reused passwords at will and confirms valid credentials. No public exploit code is referenced, but the flaw is trivially scriptable given its low complexity.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

Unlimited password guessing against the two-factor authentication login step in Zammad (all versions before 7.1.2) lets unauthenticated network attackers brute-force account passwords without triggering the platform's normal failed-login lockout or rate limiting, and the endpoint's response discloses whether each guessed password was correct before the second factor is ever evaluated. The concrete impact is credential-validity disclosure and unlimited offline-style online brute forcing rather than authentication bypass, since the second factor still gates actual login; risk is highest for accounts protected by weak or reused passwords. Rated CVSS 4.0 base 6.9 (AV:N/AC:L/AT:N/PR:N/UI:N, confidentiality-only), which is consistent with an independent CVSS 3.1 assessment of AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N; no public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis, and the vendor has released a fix in 7.1.2.

RemediationAI

Upgrade Zammad to 7.1.2, which is the vendor-released patched version fixing this issue; the change set is visible in commit d51254f1c6da13f6ee27636a5c82e53f7e59666b and the advisory is GHSA-6vh5-pfp2-5rmh. If immediate upgrading is not possible, the most effective compensating control is to enforce rate limiting and lockout in front of the vulnerable endpoints - the session two-factor initiation route and the GraphQL twoFactorMethodInitiateAuthentication mutation - using a reverse proxy, WAF, or fail2ban rule keyed on client IP and submitted login identifier, with the trade-off that coarse limits can lock out legitimate users behind shared NAT egress or break automated clients, so thresholds should be tuned (the upstream fix uses roughly 3 attempts per minute per login). In parallel, tighten password policy to reject weak or reused credentials and monitor authentication logs for repeated failed 2FA initiation attempts against the same account, since those are the signature of this brute-force technique. Reducing network exposure by placing Zammad behind a VPN or an IP-allowlist for administrative accounts is a strong interim measure but limits remote helpdesk access for agents and customers. Do not treat disabling two-factor authentication as a fix: it removes the second factor that currently prevents the harvested passwords from producing a full login, so it worsens overall risk even though it changes which endpoint is exposed. Applying the upstream commit directly to a fork is possible ('Upstream fix available (PR/commit); released patched version not independently confirmed' only if the release is not used), but the tagged 7.1.2 release is the supported path.

Affected VersionsENISA

Zammad < 7.1.2

Affected Packages

euvd zammad fix: 7.1.2

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, and the flaw sits in its authentication stack rather than in any third-party protocol component. CWE-203 (Observable Discrepancy) is the root-cause class: the two-factor initiation flow in app/controllers/sessions_controller.rb and the corresponding GraphQL mutation app/graphql/gql/mutations/two_factor_method_initiate_authentication.rb returned distinguishable outcomes - a generic 'username or password is incorrect' versus a method-specific error about the two-factor authentication method not being enabled or available - allowing an attacker to tell a correct password from an incorrect one before any second factor was validated. Compounding this, that code path in lib/auth.rb (class Auth) and service/user/password_check.rb did not count failures toward the account lockout counter and was not covered by the application's request throttling, so there was no rate limit on credential attempts against the pre-2FA step. The upstream fix adds the Gql::Concerns::HandlesThrottling concern with throttle!(limit: 3, period: 1.minute, by_identifier: login) to the mutation, collapses all failure branches (including Auth::Error::AuthenticationFailed and unexpected exceptions) into the single generic error message, and introduces a skip_login_failed_tracking flag in Auth initialized to false so that only flows already gated behind an authenticated session (such as re-confirming the current password) are exempt from lockout counting - the code comment explicitly notes that exempting an unauthenticated flow would leave it brute-forceable without limit. The affected CPE cpe:2.3:a:zammad:zammad:*:*:*:*:*:*:*:* is an unversioned wildcard, and ENISA EUVD (EUVD-2026-87267) records the affected range as Zammad < 7.1.2.

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

Vendor (GitHub_M) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.3 MEDIUM

Remote, low-complexity, unauthenticated password oracle with no lockout; impact is limited credential-validity disclosure enabling brute-force (C:L), with no direct integrity or availability effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 25, 2026 - 19:04 EUVD

DescriptionCVE.org

Zammad is a web based open source helpdesk/customer support system. Prior to 7.1.2, the two-factor login step let an attacker try unlimited password guesses for any account without triggering Zammad's normal lockout or rate limiting. The response also revealed whether a guess was correct, even before two-factor authentication was checked. This made it possible to brute-force weak or reused passwords. This issue is fixed in version 7.1.2.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche self-hosted open-source helpdesk, limited enterprise footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Zammad

View all
CVE-2026-102489 CRITICAL POC
9.4 Sep 30

Session hijacking in self-hosted Zammad 6.3.0 through 6.5.4 allows remote, unauthenticated attackers to take over a legi

CVE-2026-102490 CRITICAL POC
9.4 Sep 30

Local privilege escalation in Zammad lets an attacker who already controls the unprivileged 'zammad' service account ele

CVE-2017-5619 CRITICAL
9.8 Mar 13

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

CVE-2017-6080 CRITICAL
9.8 Mar 13

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

CVE-2022-35490 CRITICAL
9.8 Aug 08

Zammad 5.2.0 is vulnerable to privilege escalation. Rated critical severity (CVSS 9.8), this vulnerability is remotely e

CVE-2021-42090 CRITICAL
9.8 Oct 07

An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo

CVE-2021-42094 CRITICAL
9.8 Oct 07

An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo

CVE-2020-26030 CRITICAL
9.8 Dec 28

An issue was discovered in Zammad before 3.4.1. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo

CVE-2024-33668 CRITICAL
9.1 Apr 26

An issue was discovered in Zammad before 6.3.0. Rated critical severity (CVSS 9.1), this vulnerability is remotely explo

CVE-2026-84458 CRITICAL
9.1 Sep 25

Zammad's SSO auto-linking logic can be abused to take over any existing local account, including agent and administrator

CVE-2022-27332 CRITICAL
9.1 Apr 27

An access control issue in Zammad v5.0.3 allows attackers to write entries to the CTI caller log without authentication.

CVE-2021-42091 CRITICAL
9.1 Oct 07

An issue was discovered in Zammad before 4.1.1. Rated critical severity (CVSS 9.1), this vulnerability is remotely explo

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy