CVE-2026-39949: Authenticated Remote Code Execution in Cacti ≤ 1.2.30
CVE-2026-39949 is an authenticated remote code execution vulnerability in Cacti versions up to and including 1.2.30. The flaw arises from unsanitized variable substitution in RRDtool command-line arguments, allowing users with graph management privileges to inject arbitrary OS commands via host metadata fields such as the device notes. Exploitation requires authenticated access with permissions to create devices and graph templates. An attacker can craft malicious input in the notes field and trigger code execution during graph rendering.
AI Analysis
Technical Summary
This vulnerability in Cacti (≤ 1.2.30) involves improper sanitization of user-controlled host metadata fields (notably the device notes) that are substituted into RRDtool command-line arguments without escaping. The variable substitution engine replaces tokens like |host_notes| with raw database values and passes them to the shell, enabling command injection. An attacker with authenticated access and graph management privileges can inject shell metacharacters into the notes field, create a graph template referencing |host_notes|, and trigger arbitrary command execution on the server when the graph is rendered. The vulnerability is traced through host.php (device save handler), lib/variables.php (substitution engine), and lib/rrd.php (RRDtool invocation). A proof-of-concept exploit automates these steps.
Potential Impact
Successful exploitation allows an authenticated user with device and graph template creation privileges to execute arbitrary commands on the underlying server with the web server user's privileges. This can lead to full remote code execution, potentially compromising the server hosting Cacti. The vulnerability requires authenticated access and specific permissions, limiting exposure to authorized users.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The Cacti changelog link suggests a fix may exist in development branches, but no official patch release is confirmed in the provided data. Until an official fix is available, restrict graph management privileges to trusted users only and monitor for updates from the Cacti project. Avoid using untrusted input in host metadata fields that are referenced in graph templates.
CVE-2026-39949: Authenticated Remote Code Execution in Cacti ≤ 1.2.30
Description
CVE-2026-39949 is an authenticated remote code execution vulnerability in Cacti versions up to and including 1.2.30. The flaw arises from unsanitized variable substitution in RRDtool command-line arguments, allowing users with graph management privileges to inject arbitrary OS commands via host metadata fields such as the device notes. Exploitation requires authenticated access with permissions to create devices and graph templates. An attacker can craft malicious input in the notes field and trigger code execution during graph rendering.
Reddit Discussion
During recent testing on Cacti, an authenticated remote code execution vulnerability was discovered that allows users with graph management privileges to execute arbitrary commands on the underlying OS.
The vulnerability originates from Cacti's variable substitution engine, which allows graph templates to reference host metadata through variables such as |host_description|, |host_hostname|, and |host_notes|. During graph generation, these variables are expanded and incorporated into arguments passed to RRDtool.
Because user-controlled host metadata is substituted without sufficient validation or sanitization, an attacker can inject malicious input into a host field and trigger code execution when a graph is rendered.
This issue affects Cacti versions ≤ 1.2.30 and has been assigned CVE-2026-39949.
Link to the writeup: https://github.com/lukehebe/Vulnerability-Disclosures/blob/main/CVE-2026-39949.md
Link to the POC: https://github.com/lukehebe/CVE-2026-39949/tree/main
Link to Cacti changelog: https://github.com/Cacti/cacti/blob/develop/CHANGELOG#L231
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This vulnerability in Cacti (≤ 1.2.30) involves improper sanitization of user-controlled host metadata fields (notably the device notes) that are substituted into RRDtool command-line arguments without escaping. The variable substitution engine replaces tokens like |host_notes| with raw database values and passes them to the shell, enabling command injection. An attacker with authenticated access and graph management privileges can inject shell metacharacters into the notes field, create a graph template referencing |host_notes|, and trigger arbitrary command execution on the server when the graph is rendered. The vulnerability is traced through host.php (device save handler), lib/variables.php (substitution engine), and lib/rrd.php (RRDtool invocation). A proof-of-concept exploit automates these steps.
Potential Impact
Successful exploitation allows an authenticated user with device and graph template creation privileges to execute arbitrary commands on the underlying server with the web server user's privileges. This can lead to full remote code execution, potentially compromising the server hosting Cacti. The vulnerability requires authenticated access and specific permissions, limiting exposure to authorized users.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The Cacti changelog link suggests a fix may exist in development branches, but no official patch release is confirmed in the provided data. Until an official fix is available, restrict graph management privileges to trusted users only and monitor for updates from the Cacti project. Avoid using untrusted input in host metadata fields that are referenced in graph templates.
Technical Details
- Source Type
- Subreddit
- cybersecurity
- Reddit Score
- 0
- Discussion Level
- minimal
- Content Source
- reddit_link_post
- Post Type
- link
- Domain
- null
- Newsworthiness Assessment
- {"score":48,"reasons":["external_link","newsworthy_keywords:cve-,code execution","security_identifier","established_author","very_recent"],"isNewsworthy":true,"foundNewsworthy":["cve-","code execution"],"foundNonNewsworthy":[]}
- Has External Source
- true
- Trusted Domain
- false
Threat ID: 6a31bcda0b89be68882dd228
Added to database: 6/16/2026, 9:15:06 PM
Last enriched: 6/16/2026, 9:15:11 PM
Last updated: 6/17/2026, 5:32:54 AM
Views: 14
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.