Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid Cacti credentials (any role)
-
DeliverySend GET request to user_log.php with sort_column=SLEEP(5)
-
ExploitObserve response delay confirming time-based SQLi
-
ExecutionIterate blind boolean conditions on target table
-
PersistExtract password hashes and SNMP community strings
-
ImpactUse credentials for lateral movement into monitored network devices
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid Cacti user account of any privilege level - the CVSS vector PR:L confirms low-privileged authentication is sufficient, and the description explicitly states 'any authenticated Cacti user, regardless of privilege level.' The attacker must be able to send HTTP GET requests to at least one of the four confirmed affected endpoints: |
| Impact | The CVSS 3.1 score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) accurately reflects the network-accessible, low-complexity, low-privilege nature of this flaw. Any user account - including read-only or guest-level accounts - is sufficient for exploitation, substantially widening the attacker pool relative to admin-only flaws. The attack is fully unauthenticated from a network perspective (a session cookie is required, but no elevated role). Time-based blind injection is slower than error-based or UNION-based methods but reliably extracts data and does not require any special database error configuration. No EPSS score was provided in the source data, preventing quantitative comparison; however, the low-complexity, network-accessible, widely-understood technique class (ORDER BY SQLi) historically correlates with rapid weaponization once disclosed. No CISA KEV listing is present, and no POC has been identified at time of analysis. The primary real-world risk is credential harvesting from the Cacti database (hashed passwords, SNMP community strings, device credentials) leading to lateral movement within the monitored network infrastructure. |
| Exploit ScenarioDerived | An authenticated Cacti user - for example, a read-only NOC operator - navigates to |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Time-based blind SQL injection in Cacti's ORDER BY handling allows any authenticated user - regardless of privilege level - to extract, modify, or destroy the Cacti database by supplying a crafted sort_column GET parameter to at least four administrative endpoints. The root cause is a regex-based sanitization allowlist in sanitize_sql_column() (lib/functions.php) that explicitly permits parentheses to support SQL expressions like COUNT(id), inadvertently passing payloads such as SLEEP(5) through unmodified before they are concatenated into unparameterized ORDER BY clauses. No public exploit code or KEV listing has been identified at time of analysis, but the low privilege bar and network accessibility make this a credible priority for any organization running Cacti.
RemediationAI
No vendor-released patched version has been independently confirmed at time of analysis - the provided references point only to the upstream repository (https://github.com/Cacti/cacti) and the vulnerable source file, not a tagged fix release. Monitor the Cacti GitHub repository for commits to lib/functions.php addressing sanitize_sql_column(). The correct fix is to replace the overly broad regex allowlist with a strict column whitelist validated against an explicit list of known-safe column names, or to wrap ORDER BY values in a lookup table that maps safe tokens to their SQL equivalents. As a compensating control, restrict access to the four affected endpoints (user_log.php, utilities.php, user_domains.php, user_group_admin.php) to trusted IP ranges or privileged user roles at the web server or application firewall layer; this trades administrative functionality for reduced attack surface. Additionally, enforce least-privilege database accounts for the Cacti application user so that blind injection cannot reach sensitive tables beyond Cacti's own schema. A WAF rule blocking SLEEP(, BENCHMARK(, and similar MySQL delay functions in GET parameters provides a shallow but low-cost additional layer. Do not rely on network-layer controls alone if Cacti is exposed to a broad internal user population.
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 network graphing and monitoring platform backed by an SQL database (typically MySQL/MariaDB). The vulnerable function sanitize_sql_column() in lib/functions.php applies the regex preg_replace('/[^a-zA-Z0-9_().]/', '', $column) to user-supplied column names. This allowlist was designed to support legitimate SQL expressions in ORDER BY clauses - such as COUNT(id) and table.column - but the inclusion of parentheses and alphanumerics means the MySQL time-delay function SLEEP(5) passes through entirely intact. ORDER BY clauses are a well-known parameterization dead zone in SQL: prepared statement placeholders cannot be used for column names or sort directions, forcing developers to rely on allowlisting. The allowlist here is semantically too broad. CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) applies. Affected endpoints confirmed in the description are user_log.php, utilities.php, user_domains.php, and user_group_admin.php, each of which passes the sort_column GET parameter through this function. CPE cpe:2.3:a:cacti:cacti:*:*:*:*:*:*:*:* indicates all versions are affected with no upper bound confirmed.
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:L/UI:N/S:U/C:H/I:H/A:H
Network-accessible web endpoint, no complexity beyond a crafted GET parameter, any authenticated user suffices (PR:L), full database C/I/A impact confirmed by blind SQLi write capability.
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
DescriptionCVE.org
Cacti's sanitize_sql_column() (lib/functions.php) sanitizes user-supplied ORDER BY column names using the regex preg_replace('/[^a-zA-Z0-9_().]/', '', $column). Because this allowlist retains letters, digits, underscore, parentheses, and dot (intended to support expressions like COUNT(id) and table.column), a payload such as SLEEP(5) passes through completely unmodified. The sanitized value is concatenated directly into raw SQL ORDER BY clauses (which cannot be parameterized) driven by a sort_column GET parameter in at least user_log.php, utilities.php, user_domains.php, and user_group_admin.php, allowing any authenticated Cacti user, regardless of privilege level, to perform time-based blind SQL injection against the Cacti database.
Executive ViewAI
A SQL injection vulnerability in Cacti allows any authenticated user to compromise the monitoring database through crafted parameters, potentially blinding your organization to network incidents and performance issues. The low privilege requirement combined with network accessibility creates immediate risk to operational monitoring infrastructure and could enable insider threats to sabotage alerting capabilities.
Pending vendor-released patch availability: (1) Network segmentation-restrict administrative endpoint access to trusted internal IP ranges only; (2) WAF rule deployment targeting common SQL injection patterns in GET parameters, particularly monitoring for SLEEP() and time-based injection markers; (3) Database user separation-configure Cacti with a read-only database role for queries and a separate limited-privilege account for administrative operations; (4) Enhanced logging and alerting on administrative endpoint access patterns, particularly monitoring for timing anomalies consistent with blind SQL injection probing; (5) Regular automated database integrity audits with change detection to identify unauthorized modifications.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
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-53372
GHSA-7v66-c77r-g454
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB