Ruby JSON is a JSON implementation for Ruby. From 2.20.0 until 2.21.2, Ruby's JSON native C extension clears the consumed JSON::ResumableParser input buffer but leaves state.start, state.cursor, and state.end pointing into released storage. When partial_value reconstructs an incomplete object containing duplicate keys, the duplicate-key warning path calls cursor_position, which dereferences those stale pointers. This results in a heap-use-after-free and can terminate the Ruby process. An attacker who can supply JSON stream data to an application using JSON::ResumableParser may cause process termination when the application calls partial_value on incomplete attacker-controlled input containing duplicate object keys. This issue has been fixed in version 2.21.2.
CVE-2026-71847
This high-severity CVE scores 8.7 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 74% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 8.7
- EG Score
- 8.7(medium)
- EG Risk
- 70(Attend)EG Risk 70/100SSVC: Attend
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 computedSeverity87% × 45%Exploitation40% × 40%Automatability100% × 15%Action: Remediate soon — notable exploitation risk. - EPSS PROB
- 0%
- EPSS %ILE
- 26%
- KEV
- Not listed
Published
August 7, 2026
Last Modified
September 18, 2026
Advisory Details (1)
Auto-updated Aug 7, 2026JSON::ResumableParser#partial_value dereferences a freed input buffer and crashes on truncated duplicate-key streams · Advisory · ruby/json · GitHub
https://github.com/ruby/json/security/advisories/GHSA-9hj4-r449-hfvcVendor Advisories for CVE-2026-71847(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Affected Packages
(5 across 5 ecosystems)
Debian:11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| ruby-json | 2.15.2+dfsg-1 ... 2.9.1+dfsg-1 (15 versions) | — | — |
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| ruby-json | 2.15.2+dfsg-1 ... 2.9.1+dfsg-1 (12 versions) | — | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| ruby-json | 2.15.2+dfsg-1 ... 2.9.1+dfsg-1 (9 versions) | — | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| ruby-json | 2.15.2+dfsg-1 ... 2.9.1+dfsg-1 (8 versions) | 2.21.2+dfsg-1 | — |
RubyGems(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| json | 2.20.0, 2.21.0, 2.21.1 | 2.21.2 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 11× in last 7d / 49× 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-09-18 20:11 UTCEG score recompute
- 2026-09-18 19:28 UTCEPSS rescore
- 2026-09-18 04:20 UTCEG score recompute
- 2026-09-17 00:53 UTCEG score recompute
- 2026-09-16 14:08 UTCEPSS rescore
- 2026-09-16 05:15 UTCEPSS rescore
- 2026-09-15 14:15 UTCEG score recompute
- 2026-09-15 03:12 UTCEPSS rescore
- 2026-09-13 19:13 UTCEG score recompute
- 2026-09-12 16:44 UTCEG score recompute
- 2026-09-12 15:02 UTCEPSS rescore
- 2026-09-12 03:35 UTCEG score recompute
- 2026-09-11 14:53 UTCEPSS rescore
- 2026-09-11 14:26 UTCEG score recompute
- 2026-09-10 21:55 UTCEG score recompute
- 2026-09-10 09:35 UTCEPSS rescore
- 2026-09-09 06:00 UTCEG score recompute
- 2026-09-08 22:01 UTCEPSS rescore
- 2026-09-07 17:43 UTCEG score recompute
- 2026-09-06 18:30 UTCEG score recompute
- 2026-09-06 13:48 UTCEPSS rescore
- 2026-09-05 16:10 UTCEG score recompute
- 2026-09-05 02:21 UTCEG score recompute
- 2026-09-04 09:02 UTCEG score recompute
- 2026-09-04 05:07 UTCEPSS rescore
Show 54 moreShow fewer
- 2026-09-03 05:59 UTCEG score recompute
- 2026-09-02 14:12 UTCEPSS rescore
- 2026-09-01 17:38 UTCEG score recompute
- 2026-09-01 13:54 UTCEPSS rescore
- 2026-09-01 04:40 UTCEPSS rescore
- 2026-08-31 01:52 UTCEG score recompute
- 2026-08-30 19:17 UTCEPSS rescore
- 2026-08-30 12:43 UTCEG score recompute
- 2026-08-30 01:22 UTCEPSS rescore
- 2026-08-29 10:22 UTCEG score recompute
- 2026-08-28 21:42 UTCEPSS rescore
- 2026-08-27 19:48 UTCEG score recompute
- 2026-08-26 14:59 UTCEG score recompute
- 2026-08-26 14:47 UTCEPSS rescore
- 2026-08-26 01:49 UTCEG score recompute
- 2026-08-25 13:49 UTCEPSS rescore
- 2026-08-24 23:31 UTCEG score recompute
- 2026-08-24 10:22 UTCEG score recompute
- 2026-08-23 08:04 UTCEG score recompute
- 2026-08-23 00:19 UTCEPSS rescore
- 2026-08-22 05:46 UTCEG score recompute
- 2026-08-21 23:49 UTCEPSS rescore
- 2026-08-21 03:27 UTCEG score recompute
- 2026-08-20 22:56 UTCEPSS rescore
- 2026-08-20 00:04 UTCEG score recompute
- 2026-08-19 17:04 UTCEPSS rescore
- 2026-08-18 21:45 UTCEG score recompute
- 2026-08-18 13:49 UTCEPSS rescore
- 2026-08-18 13:49 UTCEPSS rescore
- 2026-08-17 19:24 UTCEG score recompute
- 2026-08-17 13:47 UTCEPSS rescore
- 2026-08-16 17:00 UTCEG score recompute
- 2026-08-16 14:56 UTCEPSS rescore
- 2026-08-16 14:56 UTCEPSS rescore
- 2026-08-16 03:51 UTCEG score recompute
- 2026-08-16 02:15 UTCEPSS rescore
- 2026-08-15 01:32 UTCEG score recompute
- 2026-08-15 01:31 UTCEPSS rescore
- 2026-08-13 23:13 UTCEG score recompute
- 2026-08-13 22:00 UTCEPSS rescore
- 2026-08-12 20:54 UTCEG score recompute
- 2026-08-12 13:51 UTCEPSS rescore
- 2026-08-11 18:36 UTCEG score recompute
- 2026-08-11 05:27 UTCEG score recompute
- 2026-08-11 00:00 UTCEPSS rescore
- 2026-08-09 14:00 UTCEG score recompute
- 2026-08-09 13:47 UTCEPSS rescore
- 2026-08-09 00:51 UTCEG score recompute
- 2026-08-08 16:37 UTCEPSS rescore
- 2026-08-07 22:33 UTCEG score recompute
- 2026-08-07 21:22 UTCEG score recompute
- 2026-08-07 19:28 UTCEG score recompute
- 2026-08-07 18:47 UTCEG score recompute
- 2026-08-07 18:47 UTCMITRE cvelistV5first tracked
Related CVEs(same CWE)
Frequently asked(5)
What is CVE-2026-71847?
When was CVE-2026-71847 disclosed?
Is CVE-2026-71847 actively exploited?
What is the CVSS score of CVE-2026-71847?
How do I remediate CVE-2026-71847?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-71847
Is Your Infrastructure Affected by CVE-2026-71847?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.