The utf8_decode function in PHP before 5.3.4 does not properly handle non-shortest form UTF-8 encoding and ill-formed subsequences in UTF-8 data, which makes it easier for remote attackers to bypass cross-site scripting (XSS) and SQL injection protection mechanisms via a crafted string.
CVE-2010-3870
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 11.3% exploitation probability in the next 30 days, which is reflected in EG Risk but does not lift the v2 base. Confidence: LOW.
- Lower severity and no public exploit yet
A fix is available — apply it.
- 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 computedSeverity68% × 45%Exploitation65% × 40%Automatability30% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 11%
- EPSS %ILE
- 96%
- KEV
- Not listed
Published
November 12, 2010
Last Modified
April 29, 2026
References (66)
- secalert@redhathttp://bugs.php.net/bug.php?id=48230
- secalert@redhathttp://bugs.php.net/bug.php?id=49687
- secalert@redhathttp://lists.apple.com/archives/security-announce/2011/Mar/msg00006.html
- secalert@redhathttp://lists.fedoraproject.org/pipermail/package-announce/2011-January/052836.html
- secalert@redhathttp://lists.fedoraproject.org/pipermail/package-announce/2011-January/052845.html
- secalert@redhathttp://lists.opensuse.org/opensuse-security-announce/2010-12/msg00000.html
- secalert@redhathttp://marc.info/?l=bugtraq&m=133469208622507&w=2
- secalert@redhathttp://secunia.com/advisories/42410
- secalert@redhathttp://secunia.com/advisories/42812
- secalert@redhathttp://sirdarckcat.blogspot.com/2009/10/couple-of-unicode-issues-on-php-and.html
- secalert@redhathttp://support.apple.com/kb/HT4581
- secalert@redhathttp://svn.php.net/viewvc?view=revision&revision=304959
- secalert@redhathttp://us2.php.net/manual/en/function.utf8-decode.php#83935
- secalert@redhathttp://www.acunetix.com/blog/web-security-articles/security-risks-associated-with-utf8_decode/
- secalert@redhathttp://www.blackhat.com/presentations/bh-usa-09/VELANAVA/BHUSA09-VelaNava-FavoriteXSS-SLIDES.pdf
Patch Availability(3)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | libapache2-mod-php5 (5.3.2-1ubuntu4.6) @ lucid | 2026-05-29 | ubuntu |
| redhat | php-0:5.3.2-6.el6_0.1 | 2011-02-03 | redhat |
| redhat | php-0:5.1.6-27.el5_5.3 | 2010-11-29 | 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.
Affected Packages
(2 across 2 ecosystems)
Debian:5.0(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| php5 | 5.2.6.dfsg.1-1+lenny2 ... 5.2.6.dfsg.1-1+lenny9 (6 versions) | 5.2.6.dfsg.1-1+lenny10 | — |
Debian:6.0(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| php5 | 5.3.3-7 | 5.3.3-7+squeeze1 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
All Vendor Advisories
(3)
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.
Data Freshness Timeline
(refreshed 2× in last 7d / 13× 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 113 total refreshes for this CVE.
- 2026-08-26 14:40 UTCEPSS rescore
- 2026-08-25 13:43 UTCEPSS rescore
- 2026-08-19 16:58 UTCEPSS rescore
- 2026-08-18 13:42 UTCEPSS rescore
- 2026-08-16 02:09 UTCEPSS rescore
- 2026-08-15 01:25 UTCEPSS rescore
- 2026-08-09 13:41 UTCEPSS rescore
- 2026-08-07 16:21 UTCEPSS rescore
- 2026-08-06 13:41 UTCEPSS rescore
- 2026-08-05 19:11 UTCEPSS rescore
- 2026-08-04 15:04 UTCEPSS rescore
- 2026-08-01 04:10 UTCEPSS rescore
- 2026-07-30 01:26 UTCEPSS rescore
- 2026-07-26 13:41 UTCEG score recompute▲ 6.80
- 2026-07-25 14:12 UTCEPSS rescore
- 2026-07-23 14:14 UTCEPSS rescore
- 2026-07-23 01:03 UTCEG score recompute
- 2026-07-23 00:39 UTCEG score recompute
- 2026-07-23 00:07 UTCEG score recompute
- 2026-07-22 21:45 UTCEG score recompute
- 2026-07-22 14:03 UTCEPSS rescore
- 2026-07-22 14:03 UTCEPSS rescore
- 2026-07-21 15:20 UTCEPSS rescore
- 2026-07-20 17:03 UTCEPSS rescore
- 2026-07-19 02:25 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-07-18 10:00 UTCEPSS rescore
- 2026-07-16 16:58 UTCEPSS rescore
- 2026-07-15 16:54 UTCEPSS rescore
- 2026-07-15 16:54 UTCEPSS rescore
- 2026-07-15 01:55 UTCEPSS rescore
- 2026-07-13 22:25 UTCEPSS rescore
- 2026-07-13 06:08 UTCEPSS rescore
- 2026-07-11 08:22 UTCEPSS rescore
- 2026-07-08 15:10 UTCEPSS rescore
- 2026-07-08 15:10 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-02 14:01 UTCEPSS rescore
- 2026-07-01 15:02 UTCEPSS rescore
- 2026-06-30 23:19 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-24 14:02 UTCEPSS rescore
- 2026-06-24 14:02 UTCEPSS rescore
- 2026-06-23 21:30 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-18 17:49 UTCEPSS rescore
- 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-15 17:44 UTCEPSS rescore
- 2026-06-14 23:14 UTCEPSS rescore
- 2026-06-13 22:57 UTCEPSS rescore
- 2026-06-13 22:57 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-11 13:56 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-07 15:22 UTCEPSS rescore
- 2026-06-07 15:22 UTCEPSS rescore
- 2026-06-06 13:44 UTCEPSS rescore
- 2026-06-06 13:44 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-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-06-01 13:49 UTCEPSS rescore
- 2026-06-01 13:49 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 22:28 UTCEPSS rescore
- 2026-05-31 00:14 UTCEPSS rescore
- 2026-05-31 00:13 UTCEPSS rescore
- 2026-05-29 13:40 UTCEPSS rescore
- 2026-05-29 09:45 UTCEG score recompute
- 2026-05-29 09:45 UTCVendor advisory
- 2026-05-29 09:45 UTCGHSA enrichment
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-28 13:42 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-27 13:38 UTCEPSS rescore
- 2026-05-26 13:41 UTCEPSS rescore
- 2026-05-26 13:41 UTCEPSS rescore
Publicly available exploits
(1 reference)Working exploit code is in the public domain (1 Exploit-DB entry). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- Exploit-DBEDB-34950✓ verifiedFirst seen May 11, 2009
PHP 5.3.2 - 'xml_utf8_decode()' UTF-8 Input Validation
Open source ↗
Related CVEs(same vendor + same CWE)
Same vendor
10 shownredhat
- CVE-2001-0825EG 10.0HIGH
- CVE-2001-1009EG 10.0EPSS p93HIGH
- CVE-2001-0554EG 10.0EPSS p98HIGH
- CVE-2001-1162EG 10.0EPSS p96HIGH
- CVE-2001-0414EG 10.0EPSS p100HIGH
- CVE-2001-0191EG 10.0EPSS p92HIGH
- CVE-2001-0301EG 10.0EPSS p91HIGH
- CVE-2001-0197EG 10.0EPSS p96HIGH
- CVE-2001-0233EG 10.0EPSS p96HIGH
- CVE-2001-0010EG 10.0EPSS p98HIGH
Same CWE
10 shownCWE-20
- CVE-2005-0050EG 10.0EPSS p99HIGH
- CVE-2004-1019EG 10.0EPSS p94HIGH
- CVE-2004-0840EG 10.0EPSS p98HIGH
- CVE-2003-1425EG 10.0EPSS p96HIGH
- CVE-2003-1487EG 10.0EPSS p94HIGH
- CVE-2002-1874EG 10.0HIGH
- CVE-2002-2236EG 10.0EPSS p91HIGH
- CVE-2002-2365EG 10.0HIGH
- CVE-2002-1358EG 10.0EPSS p93HIGH
- CVE-2002-1359EG 10.0EPSS p100HIGH
Frequently asked(4)
What is CVE-2010-3870?
When was CVE-2010-3870 disclosed?
Is CVE-2010-3870 actively exploited?
How do I remediate CVE-2010-3870?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2010-3870
Is Your Infrastructure Affected by CVE-2010-3870?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.