CVE-2026-39894
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Mitigation details
CVE-2026-39894 NameCVE-2026-39894 DescriptionCacti 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β¦
CVE-2026-39894
| Name | CVE-2026-39894 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
Vulnerable and fixed packages
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| cacti (PTS) | bullseye | 1.2.16+ds1-2+deb11u3 | vulnerable |
| bullseye (security) | 1.2.16+ds1-2+deb11u5 | vulnerable | |
| bookworm, bookworm (security) | 1.2.24+ds1-1+deb12u5 | vulnerable | |
| trixie | 1.2.30+ds1-1 | vulnerable | |
| forky, sid | 1.2.30+ds1-3 | vulnerable |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| cacti | source | (unstable) | (unfixed) |
Notes
https://github.com/Cacti/cacti/security/advisories/GHSA-23g4-vf2j-94w4
https://github.com/Cacti/cacti/issues/7011
Fixed by: https://github.com/Cacti/cacti/commit/d2a698854956e9e4e53da9eab5b5719ae40e6893 (release/1.2.31)
Apply commands
https://github.com/Cacti/cacti/security/advisories/GHSA-23g4-vf2j-94w4https://github.com/Cacti/cacti/issues/7011Fixed by: https://github.com/Cacti/cacti/commit/d2a698854956e9e4e53da9eab5b5719ae40e6893 (release/1.2.31)
OS impact
Debian Affected 5 releases
| Version | Status | Fixed in |
|---|---|---|
| trixie | Affected | β |
| sid | Affected | β |
| forky | Affected | β |
| bullseye | Affected | β |
| bookworm | Affected | β |
References
CWEs
CWE-474
Community-verified mitigations for this CVE will appear above when contributors publish them.
Verify integrity in audit chain (admin only). AS-IS.