Skip to main content

Cacti CVE-2026-71287

| EUVDEUVD-2026-53372 HIGH
SQL Injection (CWE-89)
2026-08-05 TuranSec GHSA-7v66-c77r-g454
8.8
CVSS 3.1 · Vendor: TuranSec
View

Attack ChainAIDerived

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

  1. Access
    Obtain valid Cacti credentials (any role)
  2. Delivery
    Send GET request to user_log.php with sort_column=SLEEP(5)
  3. Exploit
    Observe response delay confirming time-based SQLi
  4. Execution
    Iterate blind boolean conditions on target table
  5. Persist
    Extract password hashes and SNMP community strings
  6. Impact
    Use 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: user_log.php, utilities.php, user_domains.php, or user_group_admin.php, all of which expose the sort_column parameter. No special Cacti role, administrative access, or non-default configuration is required. Exploitation is limited by the requirement of a valid session - unauthenticated actors cannot reach the vulnerable code path. Time-based blind injection is also slower than direct extraction methods, meaning automated extraction of large datasets requires sustained access and generates observable database load and HTTP traffic patterns that may be detected by monitoring.

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 user_log.php?sort_column=SLEEP(5) or sends an equivalent crafted GET request, causing the MySQL server to delay its response by five seconds per injected condition. By varying the delay condition (e.g., IF(SUBSTRING(password,1,1)=0x61,SLEEP(5),0)) and measuring response times, the attacker iterates character by character to extract password hashes, SNMP community strings, and device credentials stored in the Cacti database. No public proof-of-concept code has been identified at time of analysis, but the technique is a well-documented class requiring only a browser or curl.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

cacti 0 ≤1.3.0-dev

Affected Packages

euvd cacti no fix

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

Vendor (TuranSec) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE 7.5 HIGH
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat 8.8 HIGH

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 83% exploitable
Prevalence
Medium
widely deployed network monitoring tool in enterprise NOC and MSP environments
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

More in Cacti

View all
CVE-2025-24367 HIGH POC
8.7 Jan 27

Cacti monitoring platform prior to version 1.2.29 allows authenticated users to achieve remote code execution through th

CVE-2022-46169 CRITICAL POC
9.8 Dec 05

Cacti is an open source platform which provides a robust and extensible operational monitoring and fault management fram

CVE-2023-49085 HIGH POC
8.8 Dec 22

Cacti provides an operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vulnerabil

CVE-2023-49084 HIGH POC
8.8 Dec 21

Cacti is a robust performance and fault management framework and a frontend to RRDTool - a Time Series Database (TSDB).

CVE-2020-14295 HIGH POC
7.2 Jun 17

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

CVE-2023-39361 CRITICAL POC
9.8 Sep 05

Cacti is an open source operational monitoring and fault management framework. Rated critical severity (CVSS 9.8), this

CVE-2017-1000031 HIGH POC
8.8 Jul 17

SQL injection vulnerability in graph_templates_inputs.php in Cacti 0.8.8b allows remote attackers to execute arbitrary S

CVE-2015-8604 HIGH POC
8.8 Apr 11

SQL injection vulnerability in the host_new_graphs function in graphs_new.php in Cacti 0.8.8f and earlier allows remote

CVE-2016-3659 HIGH POC
8.8 Apr 11

SQL injection vulnerability in graph_view.php in Cacti 0.8.8.g allows remote authenticated users to execute arbitrary SQ

CVE-2016-3172 HIGH POC
8.8 Apr 12

SQL injection vulnerability in tree.php in Cacti 0.8.8g and earlier allows remote authenticated users to execute arbitra

CVE-2023-51448 HIGH POC
8.8 Dec 22

Cacti provides an operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vulnerabil

CVE-2023-39358 HIGH POC
8.8 Sep 05

Cacti is an open source operational monitoring and fault management framework. Rated high severity (CVSS 8.8), this vuln

Vendor StatusVendor

SUSE

Severity: Important

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