Cyber Resilience

CVE-2024-31445

SQLi in Cacti ≤ 1.2.27

Public PoCSQLi
Published
14 May 2024
Modified
04 November 2025
Patch / advisory
CVSS Score v3.1 8.8
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS Score 0.26 98th percentile
Risk Priority 85 floored blend · peak EPSS

Summary

CVE-2024-31445 is a high-severity SQL Injection (CWE-89) vulnerability in Cacti Cacti. Its CVSS base score is 8.8 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 2% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

Cacti is an operational monitoring and fault management framework that contains a SQL injection vulnerability in the automation_get_new_graphs_sql function within api_automation.php prior to version 1.2.27. The issue stems from the get_request_var('filter') value being directly concatenated into an SQL statement at line 856 without sanitization, while the filter definition at line 717 uses FILTER_DEFAULT and therefore applies no validation. The flaw is tracked as CWE-89 and carries a CVSS 3.1 score of 8.8.

An authenticated user can supply a crafted filter parameter to execute arbitrary SQL, which in turn enables privilege escalation and remote code execution on the affected Cacti instance. The attack requires only network access and a low-privileged account; no user interaction is needed.

The project addressed the issue in version 1.2.27, with the fix published in commit fd93c6e on the Cacti repository. The accompanying GitHub Security Advisory GHSA-vjph-r677-6pcc and downstream Fedora package announcements recommend upgrading to the patched release.

EPSS for the CVE rose from lower values after disclosure to a peak of 0.5219 on 2025-12-11 before receding to the current 0.3947, indicating increased exploitation interest emerged post-publication.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

Cacti provides an operational monitoring and fault management framework. Prior to version 1.2.27, a SQL injection vulnerability in `automation_get_new_graphs_sql` function of `api_automation.php` allows authenticated users to exploit these SQL injection vulnerabilities to perform privilege escalation and remote code execution. In…

more

`api_automation.php` line 856, the `get_request_var('filter')` is being concatenated into the SQL statement without any sanitization. In `api_automation.php` line 717, The filter of `'filter'` is `FILTER_DEFAULT`, which means there is no filter for it. Version 1.2.27 contains a patch for the issue.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-39365Same product: Cacti Cacti
CVE-2023-39361Same product: Cacti Cacti
CVE-2024-31460Same product: Cacti Cacti
CVE-2023-39358Same product: Cacti Cacti
CVE-2023-39359Same product: Cacti Cacti
CVE-2024-31458Same product: Cacti Cacti
CVE-2023-39357Same product: Cacti Cacti
CVE-2023-49085Same product: Cacti Cacti
CVE-2023-46490Same product: Cacti Cacti
CVE-2023-51448Same product: Cacti Cacti

Affected Assets

cacti
cacti
≤ 1.2.27
fedoraproject
fedora
39

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V6.2.5

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and evaluation can discover SQLi flaws before deployment but does not stop their introduction.

Input validation directly stops untrusted data from reaching SQL query construction without neutralization.

Secure engineering principles require parameterized queries and input sanitization that structurally eliminate SQLi.

System monitoring can identify attempted SQLi exploitation via anomalous queries after the weakness exists.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly target injection flaws during coding and review so largely prevent CWE-89 introduction, yet the single broad outcome leaves residual risk from incomplete neutralization techniques or missed edge cases.

PR.AT-02 partial match
prevents

Training raises developer awareness of SQLi risks and can reduce introduction likelihood (partial) but removes none of the actual coding flaw's risk by itself since technical neutralization is still required.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

The same secure-coding and static-analysis activities surface missing neutralization of SQL metacharacters before the system is accepted.

prevents

Early warnings and shared best-practice information help organizations apply the latest remediation techniques against SQL-injection vulnerabilities.

prevents

Threat-intelligence feeds that surface new SQL-injection campaigns enable rapid updates to query-construction defenses and detection signatures before exploitation occurs.

prevents

Secure-coding rules and security testing phases mandate the use of parameterized queries or equivalent escaping, preventing the construction of dynamic SQL statements from untrusted input.

prevents

Language-specific secure coding rules, peer review and SAST together prevent the construction of SQL statements from untrusted data without proper parameterization or escaping.

References