{"document":{"category":"csaf_vex","csaf_version":"2.0","title":"CVE-2026-39948: Cacti has SQL Injection via rfilter parameter in RLIKE clauses","publisher":{"category":"vendor","name":"HarborGuard Database","namespace":"https://database.harborguard.co"},"tracking":{"id":"CVE-2026-39948","status":"final","version":"1","initial_release_date":"2026-06-24T23:06:39.057Z","current_release_date":"2026-06-24T23:06:39.057Z","revision_history":[{"date":"2026-06-24T23:06:39.057Z","number":"1","summary":"Initial machine-readable export from HarborGuard."}]},"distribution":{"tlp":{"label":"WHITE"},"text":"Public CVE data; freely redistributable."},"notes":[{"category":"description","text":"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 FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.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.","title":"CVE description"}],"references":[{"category":"self","summary":"CVE-2026-39948 on HarborGuard Database","url":"https://database.harborguard.co/cve/CVE-2026-39948"},{"category":"external","summary":"CVE Record","url":"https://www.cve.org/CVERecord?id=CVE-2026-39948"},{"category":"external","summary":"https://github.com/Cacti/cacti/security/advisories/GHSA-9jqv-4cpm-vm2c","url":"https://github.com/Cacti/cacti/security/advisories/GHSA-9jqv-4cpm-vm2c"},{"category":"external","summary":"https://github.com/Cacti/cacti/commit/136ae6ef0715e77bca69c0eb60781f5e17df0795","url":"https://github.com/Cacti/cacti/commit/136ae6ef0715e77bca69c0eb60781f5e17df0795"}]},"product_tree":{"branches":[{"category":"vendor","name":"Cacti","branches":[{"category":"product_name","name":"cacti","branches":[{"category":"product_version","name":"< 1.2.31","product":{"name":"Cacti cacti < 1.2.31","product_id":"CSAFPID-1","product_identification_helper":{"cpe":"cpe:2.3:a:cacti:cacti:\\<_1.2.31:*:*:*:*:*:*:*"}}}]}]}]},"vulnerabilities":[{"cve":"CVE-2026-39948","title":"Cacti has SQL Injection via rfilter parameter in RLIKE clauses","notes":[{"category":"description","text":"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 FILTER_VALIDATE_IS_REGEX validation) and concatenated directly into RLIKE SQL clauses in lib/html_graph.php and lib/html_tree.php, which are reachable pre-authentication through graph_view.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.","title":"CVE description"}],"product_status":{"known_affected":["CSAFPID-1"]},"scores":[{"cvss_v4":{"version":"4.0","vectorString":"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","baseScore":9.3,"baseSeverity":"CRITICAL"},"products":["CSAFPID-1"]}],"remediations":[{"category":"none_available","details":"No fixed version is published yet. Monitor the upstream advisory.","product_ids":["CSAFPID-1"]}]}]}