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.
CVE-2009-0689
- No confirmed exploitation signals yet
A fix is available — apply it.
- CVSS v3
- —
- EG Score
- 0.0(none)
- EPSS
- 97.9%
- KEV
- Not listed
Published
July 1, 2009
Last Modified
April 23, 2026
References (106)
- cret@certhttp://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/gdtoa/gdtoaimp.h
- cret@certhttp://lists.apple.com/archives/security-announce/2010//Mar/msg00001.html
- cret@certhttp://lists.apple.com/archives/security-announce/2010/Jun/msg00003.html
- cret@certhttp://lists.opensuse.org/opensuse-security-announce/2009-11/msg00004.html
- cret@certhttp://lists.opensuse.org/opensuse-security-announce/2010-06/msg00001.html
- cret@certhttp://rhn.redhat.com/errata/RHSA-2014-0311.html
- cret@certhttp://rhn.redhat.com/errata/RHSA-2014-0312.html
- cret@certhttp://secunia.com/advisories/37431
- cret@certhttp://secunia.com/advisories/37682
- cret@certhttp://secunia.com/advisories/37683
- cret@certhttp://secunia.com/advisories/38066
- cret@certhttp://secunia.com/advisories/38977
- cret@certhttp://secunia.com/advisories/39001
- cret@certhttp://secunia.com/secunia_research/2009-35/
- cret@certhttp://securityreason.com/achievement_securityalert/63
Patch Availability(9)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | thunderbird (2.0.0.24+build1+nobinonly-0ubuntu0.9.10.1) @ karmic | 2026-05-30 | ubuntu |
| ubuntu | kdelibs4c2a (4:3.5.10-0ubuntu6.4) @ intrepid | 2026-05-30 | ubuntu |
| redhat | php-0:5.1.6-40.el5_9.2 | 2014-03-18 | redhat |
| redhat | php-0:5.1.6-44.el5_10 | 2014-03-18 | redhat |
| redhat | thunderbird-0:1.5.0.12-25.el4 | 2010-03-17 | redhat |
| redhat | thunderbird-0:2.0.0.24-2.el5_4 | 2010-03-17 | redhat |
| redhat | kdelibs-6:3.5.4-25.el5_4.1 | 2009-11-24 | redhat |
| redhat | seamonkey-0:1.0.9-50.el4_8 | 2009-10-27 | redhat |
| redhat | xulrunner-0:1.9.0.15-3.el5_4 | 2009-10-27 | redhat |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
All Vendor Advisories
(9)
Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.
- Red HatRHSA-2009:1530CRITICAL2009-11-20
RHSA-2009:1530 — Critical
- Red HatRHSA-2009:1531CRITICAL2009-11-20
RHSA-2009:1531 — Critical
- Red HatRHSA-2009:1601CRITICAL2009-11-20
RHSA-2009:1601 — Critical
- Red HatRHSA-2010:0153CRITICAL2009-11-20
RHSA-2010:0153 — Critical
- Red HatRHSA-2010:0154CRITICAL2009-11-20
RHSA-2010:0154 — Critical
- Red HatRHSA-2014:0311CRITICAL2009-11-20
RHSA-2014:0311 — Critical
- Red HatRHSA-2014:0312CRITICAL2009-11-20
RHSA-2014:0312 — Critical
- UbuntuUSN-871-1MEDIUM
KDE vulnerabilities
- UbuntuUSN-915-1MEDIUM
Thunderbird vulnerabilities
Data Freshness Timeline
(refreshed 7× in last 7d / 39× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-07 17:41 UTCOSV refresh
- 2026-07-06 16:23 UTCEPSS rescore
- 2026-07-06 02:19 UTCEPSS rescore
- 2026-07-06 02:19 UTCEPSS rescore
- 2026-07-05 02:26 UTCEPSS rescore
- 2026-07-05 02:26 UTCEPSS rescore
- 2026-07-01 15:02 UTCEPSS rescore
- 2026-06-29 14:02 UTCEPSS rescore
- 2026-06-29 14:02 UTCEPSS rescore
- 2026-06-28 04:52 UTCEPSS rescore
- 2026-06-28 04:52 UTCEPSS rescore
- 2026-06-27 03:05 UTCEPSS rescore
- 2026-06-25 13:46 UTCEPSS rescore
- 2026-06-25 13:46 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-23 21:29 UTCEPSS rescore
- 2026-06-23 21:29 UTCEPSS rescore
- 2026-06-22 14:22 UTCEPSS rescore
- 2026-06-22 14:22 UTCEPSS rescore
- 2026-06-21 14:53 UTCEPSS rescore
- 2026-06-21 01:56 UTCEPSS rescore
- 2026-06-21 01:56 UTCEPSS rescore
- 2026-06-19 04:55 UTCOSV refresh
- 2026-06-18 17:49 UTCEPSS rescore
Show 43 moreShow fewer
- 2026-06-18 17:49 UTCEPSS rescore
- 2026-06-17 17:49 UTCEPSS rescore
- 2026-06-17 17:49 UTCEPSS rescore
- 2026-06-16 17:49 UTCEPSS rescore
- 2026-06-16 17:49 UTCEPSS rescore
- 2026-06-15 17:44 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-12 23:08 UTCEPSS rescore
- 2026-06-12 23:08 UTCEPSS rescore
- 2026-06-10 22:14 UTCEPSS rescore
- 2026-06-10 13:17 UTCEPSS rescore
- 2026-06-08 14:13 UTCEPSS rescore
- 2026-06-05 22:44 UTCEPSS rescore
- 2026-06-05 22:44 UTCEPSS rescore
- 2026-06-05 06:07 UTCEPSS rescore
- 2026-06-04 13:09 UTCEPSS rescore
- 2026-06-04 13:09 UTCEPSS rescore
- 2026-06-02 20:10 UTCEPSS rescore
- 2026-06-02 20:10 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 00:13 UTCEPSS rescore
- 2026-05-31 00:13 UTCEPSS rescore
- 2026-05-30 16:20 UTCEG score recompute
- 2026-05-30 16:20 UTCVendor advisory
- 2026-05-30 16:20 UTCGHSA enrichment
- 2026-05-29 13:40 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-27 08:14 UTCOSV refresh
- 2026-05-26 07:16 UTCEPSS rescore
- 2026-05-26 07:16 UTCEPSS rescore
- 2026-05-24 16:43 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-22 21:15 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 22:37 UTCEPSS rescore
- 2026-05-20 11:21 UTCEPSS rescore
- 2026-05-20 11:20 UTCEPSS rescore
- 2026-05-18 21:29 UTCEPSS rescore
Publicly available exploits
(10 references)Working exploit code is in the public domain (1 GitHub PoC) (9 Exploit-DB entries). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoCFullmetal5/str2haxFirst seen Dec 18, 2018
An implementation of CVE-2009-0689 for the Nintendo Wii.
Open source ↗ - Exploit-DBEDB-33480✓ verifiedFirst seen Jan 8, 2010
MATLAB R2009b - 'dtoa' Implementation Memory Corruption
Open source ↗ - Exploit-DBEDB-33479✓ verifiedFirst seen Jan 8, 2010
Apple Mac OSX 10.x - 'libc/strtod(3)' Memory Corruption
Open source ↗ - Exploit-DBEDB-10380First seen Dec 11, 2009
Sunbird 0.9 - Array Overrun Code Execution
Open source ↗ - Exploit-DBEDB-33364✓ verifiedFirst seen Nov 20, 2009
KDE 4.3.3 - KDELibs 'dtoa()' Remote Code Execution
Open source ↗ - Exploit-DBEDB-33363✓ verifiedFirst seen Nov 20, 2009
Opera Web Browser 10.01 - 'dtoa()' Remote Code Execution
Open source ↗ - Exploit-DBEDB-10186✓ verifiedFirst seen Nov 19, 2009
K-Meleon 1.5.3 - Remote Array Overrun
Open source ↗ - Exploit-DBEDB-10187✓ verifiedFirst seen Nov 19, 2009
Opera 10.01 - Remote Array Overrun
Open source ↗ - Exploit-DBEDB-10185✓ verifiedFirst seen Nov 19, 2009
SeaMonkey 1.1.8 - Remote Array Overrun
Open source ↗ - Exploit-DBEDB-10184✓ verifiedFirst seen Nov 19, 2009
KDE KDELibs 4.3.3 - Remote Array Overrun
Open source ↗
Related CVEs(same vendor + same CWE)
Same vendor
10 shownredhat
Same CWE
10 shownCWE-119
Frequently asked(4)
What is CVE-2009-0689?
When was CVE-2009-0689 disclosed?
Is CVE-2009-0689 actively exploited?
How do I remediate CVE-2009-0689?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2009-0689
Is Your Infrastructure Affected by CVE-2009-0689?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.