CVE-2026-59171 json
JSON-java: JSONTokener Unbounded Numeric String Resource-Exhaustion DoS
published 3d ago modified 1h ago also EUVD-2026-118487 , GHSA-ghc9-756g-vrcv
- 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
- maven org.json:json 20260719
- 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
Is CVE-2026-59171 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerExploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-09).
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 |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.json:json | >=20150729, <20260719 |
20260719 |
Affected products
- stleary JSON-java
Classification
References
-
github.com
/stleary/JSON-java/pull/1065
web
-
github.com
/stleary/JSON-java/pull/1067
web
-
github.com
/stleary/JSON-java/commit/703ac34a55400f9c50889e3d0c778b6d7962e81c
web
-
github.com
/stleary/JSON-java/commit/ab92bb9088a37f9e346cd1dda66f6a3c40a201e0
web
-
github.com
/stleary/JSON-java/commit/fce83c91bb229dde472283dea648a9a8955237fd
web
-
github.com
/stleary/JSON-java/security/advisories/GHSA-ghc9-756g-vrcv
web
-
github.com
/stleary/JSON-java/releases/tag/20260719
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-59171
advisory
-
github.com
/stleary/JSON-java
package
Sources
- CVE List CVE-2026-59171
- GitHub Advisory GHSA-ghc9-756g-vrcv
- NVD CVE-2026-59171
Fencer Intel 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.