CVE-2026-39948: Cacti has SQL Injection via rfilter parameter in RLIKE clauses
Cacti is an open source performance and fault management framework. In versions 1.2.30 and prior, the rfilter request parameter is retrieved via the raw accessor grv() (rather than gfrv() with FILTERVALIDATEISREGEX validation) and concatenated directly into RLIKE SQL clauses in lib/htmlgraph.php and lib/htmltree.php, which are reachable pre-authentication through graphview.php on installations with guest graph viewing enabled. Because the unbalanced-quote payload bypasses the regex validation that would otherwise reject it, an unauthenticated attacker can inject arbitrary SQL to compromise the confidentiality, integrity, and availability of the database. This advisory is similar to GHSA-69gg-mjfm-jjpc. This issue has been fixed in version 1.2.31.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
cactito a version that resolves this vulnerability.Fixed in 1.2.31
Event History
Frequently Asked Questions
What is the severity of CVE-2026-39948?
CVE-2026-39948 has a critical severity rating of 9.3.
What type of vulnerability is CVE-2026-39948?
CVE-2026-39948 is a SQL Injection vulnerability affecting Cacti.
How do I fix CVE-2026-39948?
To fix CVE-2026-39948, upgrade to a Cacti version later than 1.2.30 that implements proper validation on the rfilter parameter.
What versions of Cacti are affected by CVE-2026-39948?
CVE-2026-39948 affects Cacti versions 1.2.30 and prior.
What components of Cacti are impacted by CVE-2026-39948?
CVE-2026-39948 impacts the lib/html_graph.php component where the rfilter parameter is used.