CVE-2009-0689

MEDIUMCVSS v2 · 6.86.8
EchelonGraph scoreLOW confidence

This CVE was only ever scored under CVSS v2.0. NVD CVSS v2.0 base 6.8 — v2 rates that MEDIUM (v2 bands: LOW 0.0–3.9 / MEDIUM 4.0–6.9 / HIGH 7.0–10.0; v2 has no CRITICAL band). Vector AV:N/AC:M/Au:N/C:P/I:P/A:P. CVSS v2 is an older, coarser metric than v3.1/v4.0 (no Scope, no User Interaction, no Attack Requirements), so it is not directly comparable to a v3 or v4 score. NVD has never re-scored this record under v3. EPSS predicts 28.1% exploitation probability in the next 30 days, which is reflected in EG Risk but does not lift the v2 base. Confidence: LOW.

Sources: epss, nvd_v2
Weaponized
6.8EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 28%CVSS v2: 6.8Exploit: Exploit-DB (verified) · epss top5pct · public exploitExposed: 0

A fix is available — apply it.

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.

CVSS v2.0 (legacy)
6.8MEDIUMNVD never assigned a CVSS v3 rating to this CVE
EG Score
6.8(low)
EG Risk
61(Track)
EG Risk 61/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity68% × 45%
Exploitation65% × 40%
Automatability30% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
28%
EPSS %ILE
98%
KEV
Not listed

Published

July 1, 2009

Last Modified

April 23, 2026

Patch Availability(9)

Vendor / EcosystemFixed in / PatchReleasedSource
ubuntuthunderbird (2.0.0.24+build1+nobinonly-0ubuntu0.9.10.1) @ karmic2026-05-30ubuntu
ubuntukdelibs4c2a (4:3.5.10-0ubuntu6.4) @ intrepid2026-05-30ubuntu
redhatphp-0:5.1.6-40.el5_9.22014-03-18redhat
redhatphp-0:5.1.6-44.el5_102014-03-18redhat
redhatthunderbird-0:1.5.0.12-25.el42010-03-17redhat
redhatthunderbird-0:2.0.0.24-2.el5_42010-03-17redhat
redhatkdelibs-6:3.5.4-25.el5_4.12009-11-24redhat
redhatseamonkey-0:1.0.9-50.el4_82009-10-27redhat
redhatxulrunner-0:1.9.0.15-3.el5_42009-10-27redhat

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.

Affected Packages

(12 across 7 ecosystems)
Debian:11(2)
PackageVulnerable rangeFixed inDependents
mono4.2.1.102+dfsg2-4
nspr4.8-2
Debian:12(2)
PackageVulnerable rangeFixed inDependents
mono4.2.1.102+dfsg2-4
nspr4.8-2
Debian:13(2)
PackageVulnerable rangeFixed inDependents
mono4.2.1.102+dfsg2-4
nspr4.8-2
Debian:14(2)
PackageVulnerable rangeFixed inDependents
mono4.2.1.102+dfsg2-4
nspr4.8-2
Debian:5.0(2)
PackageVulnerable rangeFixed inDependents
kdelibs4:3.5.10.dfsg.1-0lenny1, 4:3.5.10.dfsg.1-0lenny2, 4:3.5.10.dfsg.1-0lenny34:3.5.10.dfsg.1-0lenny4
nspr4.7.1-44.7.1-5
Debian:6.0(1)
PackageVulnerable rangeFixed inDependents
mono2.6.7-5, 2.6.7-5+s390x, 2.6.7-5.12.6.7-5.1+deb6u2
Debian:8(1)
PackageVulnerable rangeFixed inDependents
mono3.2.8+dfsg-103.2.8+dfsg-10+deb8u1

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

All Vendor Advisories

(9)

Data Freshness Timeline

(refreshed 3× in last 7d / 10× 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.

Showing the most recent 100 of 101 total refreshes for this CVE.

  1. 2026-08-27 14:19 UTCEPSS rescore
  2. 2026-08-26 05:10 UTCOSV refresh
  3. 2026-08-25 13:43 UTCEPSS rescore
  4. 2026-08-19 16:58 UTCEPSS rescore
  5. 2026-08-15 01:24 UTCEPSS rescore
  6. 2026-08-09 21:40 UTCOSV refresh
  7. 2026-08-09 13:41 UTCEPSS rescore
  8. 2026-08-08 16:31 UTCEPSS rescore
  9. 2026-08-06 13:41 UTCEPSS rescore
  10. 2026-07-30 16:22 UTCEPSS rescore
  11. 2026-07-26 13:37 UTCEG score recompute 6.80
  12. 2026-07-25 14:12 UTCEPSS rescore
  13. 2026-07-24 22:11 UTCOSV refresh
  14. 2026-07-24 14:12 UTCEPSS rescore
  15. 2026-07-23 14:14 UTCEPSS rescore
  16. 2026-07-23 00:58 UTCEG score recompute
  17. 2026-07-23 00:36 UTCEG score recompute
  18. 2026-07-23 00:03 UTCEG score recompute
  19. 2026-07-22 21:42 UTCEG score recompute
  20. 2026-07-22 14:03 UTCEPSS rescore
  21. 2026-07-21 15:20 UTCEPSS rescore
  22. 2026-07-20 17:03 UTCEPSS rescore
  23. 2026-07-20 17:03 UTCEPSS rescore
  24. 2026-07-18 09:59 UTCEPSS rescore
  25. 2026-07-16 16:58 UTCEPSS rescore
Show 75 more
  1. 2026-07-15 16:54 UTCEPSS rescore
  2. 2026-07-15 16:54 UTCEPSS rescore
  3. 2026-07-13 22:25 UTCEPSS rescore
  4. 2026-07-13 06:07 UTCEPSS rescore
  5. 2026-07-11 08:22 UTCEPSS rescore
  6. 2026-07-11 08:22 UTCEPSS rescore
  7. 2026-07-09 19:04 UTCEPSS rescore
  8. 2026-07-08 15:10 UTCEPSS rescore
  9. 2026-07-07 17:41 UTCOSV refresh
  10. 2026-07-06 16:23 UTCEPSS rescore
  11. 2026-07-06 02:19 UTCEPSS rescore
  12. 2026-07-06 02:19 UTCEPSS rescore
  13. 2026-07-05 02:26 UTCEPSS rescore
  14. 2026-07-05 02:26 UTCEPSS rescore
  15. 2026-07-01 15:02 UTCEPSS rescore
  16. 2026-06-29 14:02 UTCEPSS rescore
  17. 2026-06-29 14:02 UTCEPSS rescore
  18. 2026-06-28 04:52 UTCEPSS rescore
  19. 2026-06-28 04:52 UTCEPSS rescore
  20. 2026-06-27 03:05 UTCEPSS rescore
  21. 2026-06-25 13:46 UTCEPSS rescore
  22. 2026-06-25 13:46 UTCEPSS rescore
  23. 2026-06-24 14:02 UTCEPSS rescore
  24. 2026-06-24 14:02 UTCEPSS rescore
  25. 2026-06-23 21:29 UTCEPSS rescore
  26. 2026-06-23 21:29 UTCEPSS rescore
  27. 2026-06-22 14:22 UTCEPSS rescore
  28. 2026-06-22 14:22 UTCEPSS rescore
  29. 2026-06-21 14:53 UTCEPSS rescore
  30. 2026-06-21 01:56 UTCEPSS rescore
  31. 2026-06-21 01:56 UTCEPSS rescore
  32. 2026-06-19 04:55 UTCOSV refresh
  33. 2026-06-18 17:49 UTCEPSS rescore
  34. 2026-06-18 17:49 UTCEPSS rescore
  35. 2026-06-17 17:49 UTCEPSS rescore
  36. 2026-06-17 17:49 UTCEPSS rescore
  37. 2026-06-16 17:49 UTCEPSS rescore
  38. 2026-06-16 17:49 UTCEPSS rescore
  39. 2026-06-15 17:44 UTCEPSS rescore
  40. 2026-06-14 23:14 UTCEPSS rescore
  41. 2026-06-14 23:14 UTCEPSS rescore
  42. 2026-06-13 22:57 UTCEPSS rescore
  43. 2026-06-12 23:08 UTCEPSS rescore
  44. 2026-06-12 23:08 UTCEPSS rescore
  45. 2026-06-10 22:14 UTCEPSS rescore
  46. 2026-06-10 13:17 UTCEPSS rescore
  47. 2026-06-08 14:13 UTCEPSS rescore
  48. 2026-06-05 22:44 UTCEPSS rescore
  49. 2026-06-05 22:44 UTCEPSS rescore
  50. 2026-06-05 06:07 UTCEPSS rescore
  51. 2026-06-04 13:09 UTCEPSS rescore
  52. 2026-06-04 13:09 UTCEPSS rescore
  53. 2026-06-02 20:10 UTCEPSS rescore
  54. 2026-06-02 20:10 UTCEPSS rescore
  55. 2026-05-31 22:28 UTCEPSS rescore
  56. 2026-05-31 22:28 UTCEPSS rescore
  57. 2026-05-31 00:13 UTCEPSS rescore
  58. 2026-05-31 00:13 UTCEPSS rescore
  59. 2026-05-30 16:20 UTCEG score recompute
  60. 2026-05-30 16:20 UTCVendor advisory
  61. 2026-05-30 16:20 UTCGHSA enrichment
  62. 2026-05-29 13:40 UTCEPSS rescore
  63. 2026-05-28 13:42 UTCEPSS rescore
  64. 2026-05-28 13:42 UTCEPSS rescore
  65. 2026-05-28 13:42 UTCEPSS rescore
  66. 2026-05-27 08:14 UTCOSV refresh
  67. 2026-05-26 07:16 UTCEPSS rescore
  68. 2026-05-26 07:16 UTCEPSS rescore
  69. 2026-05-24 16:43 UTCEPSS rescore
  70. 2026-05-22 21:15 UTCEPSS rescore
  71. 2026-05-22 21:15 UTCEPSS rescore
  72. 2026-05-20 22:37 UTCEPSS rescore
  73. 2026-05-20 22:37 UTCEPSS rescore
  74. 2026-05-20 11:21 UTCEPSS rescore
  75. 2026-05-20 11:20 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/str2hax
    First seen Dec 18, 2018

    An implementation of CVE-2009-0689 for the Nintendo Wii.

    Open source ↗
  • Exploit-DBEDB-33480✓ verified
    First seen Jan 8, 2010

    MATLAB R2009b - 'dtoa' Implementation Memory Corruption

    Open source ↗
  • Exploit-DBEDB-33479✓ verified
    First seen Jan 8, 2010

    Apple Mac OSX 10.x - 'libc/strtod(3)' Memory Corruption

    Open source ↗
  • Exploit-DBEDB-10380
    First seen Dec 11, 2009

    Sunbird 0.9 - Array Overrun Code Execution

    Open source ↗
  • Exploit-DBEDB-33364✓ verified
    First seen Nov 20, 2009

    KDE 4.3.3 - KDELibs 'dtoa()' Remote Code Execution

    Open source ↗
  • Exploit-DBEDB-33363✓ verified
    First seen Nov 20, 2009

    Opera Web Browser 10.01 - 'dtoa()' Remote Code Execution

    Open source ↗
  • Exploit-DBEDB-10186✓ verified
    First seen Nov 19, 2009

    K-Meleon 1.5.3 - Remote Array Overrun

    Open source ↗
  • Exploit-DBEDB-10187✓ verified
    First seen Nov 19, 2009

    Opera 10.01 - Remote Array Overrun

    Open source ↗
  • Exploit-DBEDB-10185✓ verified
    First seen Nov 19, 2009

    SeaMonkey 1.1.8 - Remote Array Overrun

    Open source ↗
  • Exploit-DBEDB-10184✓ verified
    First seen Nov 19, 2009

    KDE KDELibs 4.3.3 - Remote Array Overrun

    Open source ↗

Frequently asked(4)

What is CVE-2009-0689?
CVE-2009-0689 is a medium vulnerability published on July 1, 2009. 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…
When was CVE-2009-0689 disclosed?
CVE-2009-0689 was first published in the National Vulnerability Database on July 1, 2009, with the most recent update on April 23, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2009-0689 actively exploited?
CVE-2009-0689 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 28% probability of exploitation in the next 30 days, which ranks it in the top 2.0% of all scored CVEs.
How do I remediate CVE-2009-0689?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2009-0689, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2009-0689

Explore →

Is Your Infrastructure Affected by CVE-2009-0689?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.