CVE-2009-0689 Memory corruption in n/a

Medium 6.8 Published Updated

A heap-based buffer overflow in libc's dtoa implementation allows attackers to cause denial of service or execute arbitrary code via crafted printf arguments.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2009-0689?

CVE-2009-0689 is a medium-severity memory corruption vulnerability in Freebsd Freebsd, published on 1 Jul 2009. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

Array index error in the (1) dtoa implementation in dtoa.c (aka pdtoa.c) and the (2) gdtoa (aka new dtoa) implementation in gdtoa/misc.c in libc, as used in multiple operating systems and products including in FreeBSD 6.4 and 7.2, NetBSD 5.0, OpenBSD 4.5, Mozilla Firefox 3.0.x before 3.0.15 and 3.5.x before 3.5.4, K-Meleon 1.5.3, SeaMonkey 1.1.8, and other products, allows context-dependent attackers to cause a denial of service (application crash) and possibly execute arbitrary code via a large precision value in the format argument to a printf function, which triggers incorrect memory allocation and a heap-based buffer overflow during conversion to a floating-point number.

Weakness: CWE-119

Which versions are affected by CVE-2009-0689?

It affects 6 products.

Linux distribution packages (40)
kdelibs Red Hat:enterprise_linux:4::asAll versions6:3.3.1-17.el4_8.1
kdelibs-debuginfo Red Hat:enterprise_linux:4::asAll versions6:3.3.1-17.el4_8.1
kdelibs-devel Red Hat:enterprise_linux:4::asAll versions6:3.3.1-17.el4_8.1
kdelibs Red Hat:enterprise_linux:4::desktopAll versions6:3.3.1-17.el4_8.1
kdelibs-debuginfo Red Hat:enterprise_linux:4::desktopAll versions6:3.3.1-17.el4_8.1
kdelibs-devel Red Hat:enterprise_linux:4::desktopAll versions6:3.3.1-17.el4_8.1
kdelibs Red Hat:enterprise_linux:4::esAll versions6:3.3.1-17.el4_8.1
kdelibs-debuginfo Red Hat:enterprise_linux:4::esAll versions6:3.3.1-17.el4_8.1
kdelibs-devel Red Hat:enterprise_linux:4::esAll versions6:3.3.1-17.el4_8.1
kdelibs Red Hat:enterprise_linux:4::wsAll versions6:3.3.1-17.el4_8.1
kdelibs-debuginfo Red Hat:enterprise_linux:4::wsAll versions6:3.3.1-17.el4_8.1
kdelibs-devel Red Hat:enterprise_linux:4::wsAll versions6:3.3.1-17.el4_8.1
kdelibs Red Hat:enterprise_linux:5::clientAll versions6:3.5.4-25.el5_4.1
kdelibs-apidocs Red Hat:enterprise_linux:5::clientAll versions6:3.5.4-25.el5_4.1
kdelibs-debuginfo Red Hat:enterprise_linux:5::clientAll versions6:3.5.4-25.el5_4.1
kdelibs Red Hat:enterprise_linux:5::client_workstationAll versions6:3.5.4-25.el5_4.1
kdelibs-debuginfo Red Hat:enterprise_linux:5::client_workstationAll versions6:3.5.4-25.el5_4.1
kdelibs-devel Red Hat:enterprise_linux:5::client_workstationAll versions6:3.5.4-25.el5_4.1
kdelibs Red Hat:enterprise_linux:5::serverAll versions6:3.5.4-25.el5_4.1
kdelibs-apidocs Red Hat:enterprise_linux:5::serverAll versions6:3.5.4-25.el5_4.1
kdelibs-debuginfo Red Hat:enterprise_linux:5::serverAll versions6:3.5.4-25.el5_4.1
kdelibs-devel Red Hat:enterprise_linux:5::serverAll versions6:3.5.4-25.el5_4.1
php Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-bcmath Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-cli Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-common Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-dba Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-debuginfo Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-devel Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-gd Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-imap Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-ldap Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-mbstring Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-mysql Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-ncurses Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-odbc Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-pdo Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-pgsql Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-snmp Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2
php-soap Red Hat:rhel_eus:5.9All versions0:5.1.6-40.el5_9.2

Products include Freebsd Freebsd, K-Meleon Project K-Meleon, Mozilla Firefox, Mozilla Seamonkey, Netbsd Netbsd, Openbsd Openbsd.

How do I fix CVE-2009-0689?

Upgrade to a fixed version.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2009-0689 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2009-0689 exists.

Public exploit code: 11 Exploit-DB entries and 1 proofs of concept on GitHub.

All Freebsd Freebsd vulnerabilities

Sources

Also known as CVE-2009-1563, DEBIAN-CVE-2009-0689, DLA-1564-1, DLA-376-1, DSA-1998-1, GHSA-99jp-rppc-jgcm and 3 more.

Is CVE-2009-0689 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free