CVE-2026-59171 json
JSON-java: JSONTokener Unbounded Numeric String Resource-Exhaustion DoS
published 2026-11-06 2 d ago modified 2026-11-06 2 d ago also EUVD-2026-118487
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
JSON-java is a reference implementation of a JSON package in Java. From version 20150729 through 20260522, JSONTokener.nextSimpleValue can accumulate unbounded numeric tokens before JSONObject.stringToNumber passes them to BigInteger or BigDecimal conversion without a length limit. An application that parses attacker-controlled JSON or XML through JSONObject, JSONArray, or XML.toJSONObject can spend super-linear CPU time converting a sufficiently long numeric literal, blocking request-handling threads and causing denial of service. Strict mode and keep-strings settings in JSONParserConfiguration do not prevent the affected conversion path. Version 20260719 limits numeric conversion length.
Patch / fix
- github.com/stleary/JSON-java@703ac34 commit
- github.com/stleary/JSON-java@ab92bb9 commit
- github.com/stleary/JSON-java@fce83c9 commit
- github.com/stleary/JSON-java#1065 pull request
- github.com/stleary/JSON-java#1067 pull request
- github.com/stleary/JSON-java/releases/tag/20260719 release
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected products
- stleary JSON-java
Classification
References
- github.com /stleary/JSON-java/pull/1065
- github.com /stleary/JSON-java/pull/1067
- github.com /stleary/JSON-java/commit/703ac34a55400f9c50889e3d0c778b6d7962e81c
- github.com /stleary/JSON-java/commit/ab92bb9088a37f9e346cd1dda66f6a3c40a201e0
- github.com /stleary/JSON-java/commit/fce83c91bb229dde472283dea648a9a8955237fd
- github.com /stleary/JSON-java/security/advisories/GHSA-ghc9-756g-vrcv
- github.com /stleary/JSON-java/releases/tag/20260719
Sources
- CVE List CVE-2026-59171
- NVD CVE-2026-59171
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.