Description
Cacti is an open source performance and fault management framework. Versions 1.2.30 and prior are vulnerable to Command Injection due to lack of sanitization in the escape_command() function. The escape_command() function at lib/rrd.php is a no-op: it returns $command unchanged. The command line built by rrdtool_function_graph() is passed through this function and then to shell_exec($full_commandline). The risk is in __rrd_execute() where text_format values from graph templates (which may contain host variable substitutions) reach shell_exec without adequate escaping. This issue has been addressed in version 1.2.31.
Published: 2026-06-24
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This vulnerability arises in the escape_command() function in Cacti’s rrd.php module, which currently acts as a no‑op and returns user‑supplied command strings unchanged. The command line constructed by rrdtool_function_graph() is subsequently passed to shell_exec(), the effect of which is a classic OS command injection (CWE‑78) that is further enabled by the handling of graph template text_format values (CWE‑88). An attacker who can alter these template fields can inject arbitrary shell commands that the web application runs with the web server’s privileges. The resulting impact is full compromise of the host running Cacti, as the attacker gains the capabilities of the web server process.

Affected Systems

Cacti versions 1.2.30 and earlier are affected. The issue is fixed in version 1.2.31 and later. This includes the Cacti performance and fault management framework used in many network monitoring deployments.

Risk and Exploitability

The CVSS score of 8.6 indicates a high severity exploit. No EPSS score is available, but the combination of a shell_exec call and the lack of any sanitization makes exploitation likely, especially for users that have permission to modify graph templates or for remote attackers who can create or update templates via the web interface. The vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that successful exploitation would allow an authenticated or possibly remote attacker to execute arbitrary commands on the host, compromising confidentiality, integrity, and availability.

Generated by OpenCVE AI on June 25, 2026 at 02:05 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Cacti to version 1.2.31 or later to restore proper command escaping in rrd.php.
  • Ensure that all graph template text_format fields contain no shell metacharacters or unintended host variable substitutions; manually audit and sanitize existing templates.
  • Restrict write access to the Cacti configuration and template directories so that only trusted administrators can modify them, and consider disabling template editing for non‑administrative users.

Generated by OpenCVE AI on June 25, 2026 at 02:05 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 24 Jun 2026 23:45:00 +0000

Type Values Removed Values Added
Description Cacti is an open source performance and fault management framework. Versions 1.2.30 and prior are vulnerable to Command Injection due to lack of sanitization in the escape_command() function. The escape_command() function at lib/rrd.php is a no-op: it returns $command unchanged. The command line built by rrdtool_function_graph() is passed through this function and then to shell_exec($full_commandline). The risk is in __rrd_execute() where text_format values from graph templates (which may contain host variable substitutions) reach shell_exec without adequate escaping. This issue has been addressed in version 1.2.31.
Title Cacti: Command Injection via escape_command() no-op in RRDtool execution
Weaknesses CWE-78
CWE-88
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-06-24T23:26:40.623Z

Reserved: 2026-04-09T00:39:12.205Z

Link: CVE-2026-40079

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-25T02:15:03Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

  • CWE-88

    Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')