Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach Cacti login page over network
-
ExploitSubmit candidate usernames, observe error message
-
ExecutionCompare 'failed' vs 'Failed' capitalization
-
ImpactEnumerate valid accounts for targeted attacks
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Response uniformity
|
| Exploitation Conditions | No special configuration is required: an attacker only needs network reachability to the Cacti web login form, then submits usernames and compares the capitalization of the word 'failed'/'Failed' in the 'Access Denied!' response to distinguish existing accounts from non-existent ones. The exploitation ceiling is inherently limited - the flaw discloses only username validity (C:L), yielding no authentication bypass, data read, or code execution on its own. Practical limiting factors: the login interface must be network-accessible to the attacker (monitoring consoles are frequently restricted to internal networks), the installation must be at or below version 1.2.30, and the value is only realized when chained into a follow-on brute-force, credential-stuffing, or social-engineering attack. |
| Impact | This is a genuinely low-to-moderate priority information-disclosure issue, not a critical flaw, and the signals are internally consistent. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/C:L/I:N/A:N = 5.3 Medium) correctly reflects a remotely reachable, unauthenticated, low-complexity bug whose only impact is a limited confidentiality leak - the ability to tell valid from invalid usernames. There is no integrity or availability impact and no code execution. The vuln.today decision label is 'this_month' (not act_now/emergency), which aligns with the severity. No EPSS score and no CISA KEV entry are provided in the input, so there is no evidence of active or widespread exploitation; absence of these does not raise priority. A public PoC reference exists in the GitHub security advisory (screenshots plus reproduction steps), but it is a demonstration of the enumeration behavior rather than verified weaponized exploit code. The realistic danger is as a precursor: enumerated usernames feed brute-force, credential-stuffing, or social-engineering campaigns. No data points conflict here; the chief limitation is that exploitability depends on the Cacti login interface being network-reachable, which for a monitoring console is often internal-only. |
| Exploit ScenarioDerived | An attacker who can reach the Cacti login page submits a list of candidate usernames and inspects each failure response: a valid account returns 'Access Denied! Login failed.' while an unknown account returns 'Access Denied! Login Failed.', the sole difference being the capital 'F'. A public PoC reference (with screenshots and steps) exists in the GHSA advisory, demonstrating the technique. Because the CVSS vector is AV:N/AC:L/PR:N/UI:N, this requires only unauthenticated network access and no user interaction, letting the attacker build a confirmed username list to seed later password attacks. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 23, 2026
Username enumeration in Cacti 1.2.30 and earlier allows unauthenticated remote attackers to determine which accounts exist by submitting candidate usernames to the web login form and comparing the returned 'Access Denied!' message, where the only difference is the capitalization of the letter 'f' in 'failed'/'Failed'. The disclosure is limited to account validity (CVSS 5.3, C:L) and provides no authentication bypass, data access, or code execution on its own; its value emerges when the harvested usernames feed brute-force, credential-stuffing, or social-engineering follow-ons. The flaw is fixed in Cacti 1.2.31; a public proof-of-concept reference exists in the vendor advisory (screenshots of the two responses), though it is not verified as working exploit code, and no confirmed active exploitation has been reported - the issue is triaged for handling within a normal monthly patch cycle.
RemediationAI
Upgrade to Cacti 1.2.31, the version in which the enumeration discrepancy is resolved; the vendor fix is carried by the security-fix pull request https://github.com/Cacti/cacti/pull/7166 and commit ab4baf338d65dcaafe1bd97d1e2a310fe0af0e3e, with tracking in advisory https://github.com/Cacti/cacti/security/advisories/GHSA-m7v2-f3xw-3qh7. Because exploitation requires only that the login form be reachable, sites that cannot patch immediately should constrain the exposure described in the assessment - Cacti consoles are frequently restricted to internal networks, and keeping the login interface off untrusted networks removes the enumeration channel; any such restriction should be paired with the understanding that it is a perimeter control, not a code fix, and does not alter the underlying response discrepancy for users who can still reach the form. Where the console must remain externally reachable, treat any harvested usernames as a precursor to brute-force or credential-stuffing and prioritize account lockout, password quality, and multi-factor authentication on Cacti accounts while the upgrade is scheduled. No KEV listing or confirmed active exploitation was reported at time of analysis, so the upgrade can be scheduled into a normal monthly patch cycle rather than an emergency change.
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
Cacti is a PHP-based performance and fault management framework whose authentication logic lives in lib/auth.php, with user-facing strings routed through gettext translation catalogs (locales/po/cacti.pot). The weakness maps to CWE-204 (Observable Response Discrepancy): the login failure path in secpass_login_process() emits two textually distinct strings depending on whether the supplied username resolves to an existing account - 'Access Denied! Login failed.' for a valid username versus 'Access Denied! Login Failed.' for an invalid one - so the responses differ only in the case of one character. Because both responses are visually near-identical and the discrepancy is a single letter, the issue is only reliably observable by inspecting the raw response text rather than by a coarse success/failure signal, which is why the CVSS confidentiality impact is scored Low. The upstream fix (PR #7166, commit ab4baf338d65dcaafe1bd97d1e2a310fe0af0e3e) normalizes the existing-user branch string to 'Access Denied! Login Failed.' so both branches render identically, and the CHANGELOG entry references GHSA-m7v2-f3xw-3qh7 alongside CVE-2026-46531 (a separate SQL injection in automation_tree_rules.php). No special configuration or authentication is required: per the assessed vector AV:N/AC:L/PR:N/UI:N, an unauthenticated remote party only needs network reachability to the login form at or below version 1.2.30.
Know when Cacti 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
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Remotely reachable login form (AV:N), trivial to trigger (AC:L), no auth or interaction (PR:N/UI:N); only username-validity disclosure gives C:L with I:N/A:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Cacti is an open source performance and fault management framework. Prior to version 1.2.31, a User Enumeration vulnerability allows an attacker to identify valid usernames on the Cacti service. When a user attempts to log in, the application returns slightly different error messages depending on whether the provided username exists in the system. When username exists on Cacti, in the response, they see Access Denied! Login failed. When it does not exist on Cacti, they see Access Denied! Login Failed. The only difference between the responses is the capitalization of the letter "f" in the word failed. This issue has been patched in version 1.2.31.
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.
Cacti monitoring platform prior to version 1.2.29 allows authenticated users to achieve remote code execution through th
Cacti is an open source platform which provides a robust and extensible operational monitoring and fault management fram
Cacti provides an operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vulnerabil
Cacti is a robust performance and fault management framework and a frontend to RRDTool - a Time Series Database (TSDB).
A SQL injection issue in color.php in Cacti 1.2.12 allows an admin to inject SQL via the filter parameter. Rated high se
Cacti is an open source operational monitoring and fault management framework. Rated critical severity (CVSS 9.8), this
SQL injection vulnerability in graph_templates_inputs.php in Cacti 0.8.8b allows remote attackers to execute arbitrary S
SQL injection vulnerability in the host_new_graphs function in graphs_new.php in Cacti 0.8.8f and earlier allows remote
SQL injection vulnerability in graph_view.php in Cacti 0.8.8.g allows remote authenticated users to execute arbitrary SQ
SQL injection vulnerability in tree.php in Cacti 0.8.8g and earlier allows remote authenticated users to execute arbitra
Cacti provides an operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vulnerabil
Cacti is an open source operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vuln
EUVD-2026-109089
NVD
CVE.org
EPSS
GitHub
Exploit-DB