CVE-2009-0689 Memory corruption in n/a
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::as | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:4::as | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-devel Red Hat:enterprise_linux:4::as | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs Red Hat:enterprise_linux:4::desktop | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:4::desktop | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-devel Red Hat:enterprise_linux:4::desktop | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs Red Hat:enterprise_linux:4::es | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:4::es | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-devel Red Hat:enterprise_linux:4::es | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs Red Hat:enterprise_linux:4::ws | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:4::ws | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs-devel Red Hat:enterprise_linux:4::ws | All versions | 6:3.3.1-17.el4_8.1 |
kdelibs Red Hat:enterprise_linux:5::client | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-apidocs Red Hat:enterprise_linux:5::client | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:5::client | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs Red Hat:enterprise_linux:5::client_workstation | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:5::client_workstation | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-devel Red Hat:enterprise_linux:5::client_workstation | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs Red Hat:enterprise_linux:5::server | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-apidocs Red Hat:enterprise_linux:5::server | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-debuginfo Red Hat:enterprise_linux:5::server | All versions | 6:3.5.4-25.el5_4.1 |
kdelibs-devel Red Hat:enterprise_linux:5::server | All versions | 6:3.5.4-25.el5_4.1 |
php Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-bcmath Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-cli Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-common Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-dba Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-debuginfo Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-devel Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-gd Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-imap Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-ldap Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-mbstring Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-mysql Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-ncurses Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-odbc Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-pdo Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-pgsql Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-snmp Red Hat:rhel_eus:5.9 | All versions | 0:5.1.6-40.el5_9.2 |
php-soap Red Hat:rhel_eus:5.9 | All versions | 0: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.
Other vulnerabilities in Freebsd Freebsd
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.