Summary
CVE-2026-39938 is a critical-severity (CVSS 9.8) unauthenticated Local File Inclusion (LFI) vulnerability in Cacti, the open source performance and fault management framework. Affecting all versions up to and including 1.2.30, the flaw is exploitable remotely without credentials or user interaction, and has been assigned both CWE-22 (Path Traversal) and CWE-78 (OS Command Injection), meaning successful exploitation can escalate beyond file disclosure to full Remote Code Execution. Cacti 1.2.31 resolves this issue.
Technical details
- Root cause: Improper input validation of the
graph_themeparameter. An initial sanitization approach based onbasename()was insufficient and could be bypassed by attackers; the fix replaces it with filesystem allowlist-based validation implemented incacti_validate_theme()(PR #6966, commit9871f0ce). - rrdtool IPC: The vulnerability is further enabled by weaknesses in Cacti’s rrdtool inter-process communication (IPC) serialization, which was hardened as part of the same fix.
- Trigger conditions: Any unauthenticated HTTP/HTTPS request to a reachable Cacti instance is sufficient — no credentials, no prior access, and no user interaction are required.
- Attack vector: Network-based; exploitable directly from the public internet against exposed Cacti deployments.
- Impact: CWE-22 (Path Traversal) enables arbitrary local file read (e.g.,
/etc/passwd, application configuration files containing credentials, private keys). CWE-78 (OS Command Injection) enables execution of arbitrary operating system commands with application-level privileges, constituting Remote Code Execution.
Affected software
- Cacti versions 1.2.30 and prior (all prior releases are affected)
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate — Upgrade: Update Cacti to version 1.2.31, which contains the vendor-supplied fix (filesystem allowlist validation in
cacti_validate_theme()and rrdtool IPC serialization hardening). - Network mitigation (if patching is not immediately possible): Restrict public internet access to the Cacti web interface using a firewall or reverse proxy. Cacti is an internal monitoring tool and should not be exposed to untrusted networks. Place it behind VPN or IP allowlist controls until the patch can be applied.
- Verify exposure: Audit all internet-facing hosts for Cacti deployments and confirm their version. Instances accessible over the public internet are at immediate risk.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

