CVE-2026-39894

Cacti: RRDtool metric shift via LC_NUMERIC locale comma decimal formatting

State
Published
Severity
2.9 Low
Published
Jun 24, 2026
Updated
Jun 25, 2026
Reserved
Apr 7, 2026

Read the record on cve.org

Description

Cacti is an open source performance and fault management framework. In versions 1.2.30 and below, the locale-dependent decimal formatting in rrdtool_function_update() can corrupt RRDtool metric values. The rrdtool_function_update() function checks metric values with is_numeric() and concatenates them into the RRDtool update command via PHP string interpolation. PHP's string cast of floats is locale-sensitive: if LC_NUMERIC uses comma as decimal separator (e.g., de_DE), a value of 1.5 becomes "1,5". RRDtool expects . as decimal separator, causing metric data to shift into wrong columns or be silently dropped. No setlocale() reset is present in the update path. This causes a data integrity issue, but is not remotely exploitable; it requires server locale misconfiguration. The issue has been fixed in version 1.2.31.

Scores

CVSSScoreVectorSource
3.12.9 LowCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NGitHub_M

Weaknesses

  • CWE-474 Use of Function with Inconsistent Implementations

Affected Products

ProductVersions
cactiCacti
  • < 1.2.31Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.