CVE-2026-40079 PUBLISHED

Cacti: Command Injection via escape_command() no-op in RRDtool execution

Assigner: GitHub_M
Reserved: 09.04.2026 Published: 24.06.2026 Updated: 24.06.2026

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.

Metrics

CVSS 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
CVSS Score: 8.6

Product Status

Vendor Cacti
Product cacti
Versions
  • Version < 1.2.31 is affected

References

Problem Types

  • CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') CWE
  • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') CWE