Cyber Resilience

CVE-2024-31459

Cacti ≤ 1.2.27

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

Summary

CVE-2024-31459 is a high-severity PHP Remote File Inclusion (CWE-98) vulnerability in Cacti Cacti. Its CVSS base score is 8.0 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 16% 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.

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, there is a file inclusion issue in the `lib/plugin.php` file. Combined with SQL injection vulnerabilities, remote code execution can be implemented. There is a file inclusion issue…

more

with the `api_plugin_hook()` function in the `lib/plugin.php` file, which reads the plugin_hooks and plugin_config tables in database. The read data is directly used to concatenate the file path which is used for file inclusion. 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-2024-31445Same 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-30534Same product: Cacti Cacti
CVE-2023-49084Same product: Cacti Cacti
CVE-2023-39511Same product: Cacti Cacti

Affected Assets

cacti
cacti
≤ 1.2.27
fedoraproject
fedora
39

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Developer testing and static analysis can discover missing filename restrictions before deployment.

Validating all inputs before they reach include/require statements directly stops untrusted filenames from being used.

Enforcing access authorizations on resources limits what an included file can reach even if a bad name is supplied.

Information-flow rules can block the loading of external or unauthorized files into the PHP process.

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 such as input validation and allow-listing of include paths directly prevent the weakness.

PR.PS-01 partial match
prevents

Hardened runtime configuration (e.g., allow_url_include=off) directly blocks RFI even if code is flawed.

PR.PS-05 partial match
prevents

Execution restrictions can prevent the remote payload from running, while eliminating the weakness reduces the need for such controls.

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

Security testing can detect RFI but does not prevent the weakness by itself.

prevents

Secure development lifecycle mandates input validation and safe include/require patterns that directly prevent remote file inclusion.

prevents

Application security requirements explicitly call for controls against injection and unsafe file operations.

prevents

Secure architecture principles reduce attack surface but do not specifically address dynamic file inclusion.

prevents

Secure coding standards directly require whitelisting and sanitization of filenames used in include/require statements.

none

Information access restriction limits what files can be read but does not address dynamic inclusion logic.

References