Summary
CVE-2026-39948 is a critical unauthenticated SQL injection vulnerability (CWE-89) in Cacti, an open-source network performance and fault management framework, affecting all versions 1.2.30 and prior. The flaw is reachable pre-authentication through graph_view.php on installations with guest graph viewing enabled, allowing a remote attacker with no credentials to inject arbitrary SQL and compromise the confidentiality and integrity of the underlying database. The vulnerability carries a CVSS 4.0 score of 9.3 (Critical).
Technical details
- Root cause: The
rfilterrequest parameter is retrieved using the raw accessorgrv()instead ofgfrv(), which enforcesFILTER_VALIDATE_IS_REGEXvalidation. The unvalidated value is concatenated directly into RLIKE SQL clauses inlib/html_graph.phpandlib/html_tree.php, as well asaggregate_graphs.php. - Bypass mechanism: An unbalanced-quote payload passes the regex check that would otherwise block it, allowing the injected SQL to reach the database engine unmodified.
- Attack vector: A remote, unauthenticated attacker sends a crafted HTTP request to
graph_view.phpwith a maliciousrfilterparameter. No authentication or user interaction is required; the only prerequisite is that guest graph viewing is enabled on the target instance. - Entry point:
graph_view.phpis reachable over HTTP/HTTPS from the public internet on exposed instances. - Impact: Successful exploitation results in HIGH confidentiality impact and HIGH integrity impact. Cacti databases routinely store network device credentials, SNMP community strings, and infrastructure configuration data — database compromise can serve as a launchpad for broader infrastructure takeover.
Affected software
- Cacti versions 1.2.30 and prior (all versions < 1.2.31)
Severity
No CVSS v3.1 score has been published by NVD at time of writing. The assigned CVSS 4.0 score is 9.3 (Critical) with vector string:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate action: Upgrade to Cacti 1.2.31, which addresses all vulnerable RLIKE SQL concatenation sites by enforcing parameterized queries and
db_qstr()escaping throughoutlib/html_graph.php,lib/html_tree.php, andaggregate_graphs.php. - If immediate patching is not feasible: Disable guest graph viewing to remove the unauthenticated attack surface. Additionally, restrict network-level access to Cacti management interfaces from untrusted external sources as a defense-in-depth measure.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

