{"id":"DEBIAN-CVE-2026-39894","details":"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.","modified":"2026-09-14T17:03:10.409730837Z","published":"2026-06-24T22:16:46.753Z","upstream":["CVE-2026-39894"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2026-39894"}],"affected":[{"package":{"name":"cacti","ecosystem":"Debian:12","purl":"pkg:deb/debian/cacti?arch=source&distro=bookworm"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.2.24+ds1-1","1.2.24+ds1-1+deb12u1","1.2.24+ds1-1+deb12u2","1.2.24+ds1-1+deb12u3","1.2.24+ds1-1+deb12u4","1.2.24+ds1-1+deb12u5","1.2.25+ds1-1","1.2.25+ds1-2","1.2.26+ds1-1","1.2.27+ds1-1","1.2.27+ds1-2","1.2.28+ds1-1","1.2.28+ds1-2","1.2.28+ds1-3","1.2.28+ds1-4","1.2.30+ds1-1","1.2.30+ds1-2","1.2.30+ds1-3","1.2.31+ds1-1","1.2.31+ds1-2","1.2.31+ds1-3"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-39894.json"}},{"package":{"name":"cacti","ecosystem":"Debian:13","purl":"pkg:deb/debian/cacti?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.2.30+ds1-1","1.2.30+ds1-2","1.2.30+ds1-3","1.2.31+ds1-1","1.2.31+ds1-2","1.2.31+ds1-3"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-39894.json"}},{"package":{"name":"cacti","ecosystem":"Debian:14","purl":"pkg:deb/debian/cacti?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.2.31+ds1-1"}]}],"versions":["1.2.30+ds1-1","1.2.30+ds1-2","1.2.30+ds1-3"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-39894.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}]}