CVE-2026-18401

MEDIUMPre-NVD 6.96.9—
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 6.9 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.4% (32nd percentile of EPSS-scored CVEs). 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).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
Elevated
6.9EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0.4%CVSS: 6.9Exploit: Elevated riskExposed services: Not assessed

A fix is available — apply it.

The non-blocking (asynchronous) JSON parser in jackson-core does not enforce the maxNumberLength constraint defined in StreamReadConstraints (default: 1000 characters). An attacker able to submit JSON to an application that uses the async parser API can supply a number token of arbitrary length, leading to excessive memory allocation and potential CPU exhaustion, resulting in a denial of service.

The synchronous parser enforces this limit correctly, so the constraint is applied inconsistently depending on which parsing API the application uses.

Root cause: the async parsing path in NonBlockingUtf8JsonParserBase and related classes never invokes the number length validation methods. Number parsing methods such as _finishNumberIntegralPart() accumulate digits into the TextBuffer without any length check, then call _valueComplete() to finalize the token. _valueComplete() does not call resetInt() or resetFloat(), which are the methods in ParserBase where validateIntegerLength() and validateFPLength() are performed. Because that validation step is skipped, maxNumberLength is never enforced on the async code path.

Impact: an attacker sending a JSON document containing an arbitrarily long number to an application using the async parser (for example a Spring WebFlux or other reactive application) can cause unbounded allocation in the TextBuffer and an OutOfMemoryError. If the application subsequently calls getBigIntegerValue() or getDecimalValue(), the JVM may additionally be tied up in O(n^2) BigInteger parsing, causing CPU-based denial of service.

No privileges or user interaction beyond the ability to submit data for parsing are required.

This issue affects com.fasterxml.jackson.core:jackson-core from version 2.15.0 through 2.18.5 and from 2.19.0 through 2.21.0, and tools.jackson.core:jackson-core from 3.0.0 through 3.0.x.

Versions prior to 2.15.0 are not affected, because StreamReadConstraints -- which defines the maxNumberLength setting -- was first introduced in jackson-core 2.15.0, so no such constraint exists to be bypassed in earlier releases. Note that GHSA-72hv-8253-57qq records the lower bound of the affected 2.x range as 2.0.0.

CVSS v3
6.9
EG Score
6.9MEDIUMmedium confidence
EG Risk
62
EG Risk 62/100CISA SSVC

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
Severity69% × 45%
Exploitation40% × 40%
Automatability100% × 15%
CISA SSVC: Track at low or medium mission impact; Attend at high (mission-essential systems).
Action: A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.
EPSS PROB
0.4%
EPSS %ILE
32nd
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Attend at high (mission-essential systems).

A fix is available. Apply it within your standard update timelines at low or medium mission impact and sooner than that at high.

Exploitation public PoC (CISA Vulnrichment) · Automatable yes (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

August 4, 2026

Last Modified

September 8, 2026

Advisory Details (3)

Auto-updated Aug 4, 2026
🔬 Proof of concept available. Patch available. Sources: github_commit, github, github_pr.
github_commit

commit b0c428e6f993 (FasterXML/jackson-core)

Fix landed in FasterXML/jackson-core commit b0c428e6f993 — awaiting tagged release

https://github.com/FasterXML/jackson-core/commit/b0c428e6f993e1b5ece5c1c3cb2523e887cd52cf
github_pr

Enforce `StreamReadConstraints.maxNumberLength` for non-blocking (async) parser

Fix merged in FasterXML/jackson-core PR #1555 on 2026-02-22 — awaiting tagged release

https://github.com/FasterXML/jackson-core/pull/1555
github Patch Available🟡 PoC Available

Number Length Constraint Bypass in Async Parser Can Lead to Potential Processing Time Issues · Advisory · FasterXML/jackson-core · GitHub

https://github.com/FasterXML/jackson-core/security/advisories/GHSA-72hv-8253-57qq

Vendor Advisories for CVE-2026-18401(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(2 across 1 ecosystem)
Maven(2)
PackageVulnerable rangeFix by version rangeDependents
com.fasterxml.jackson.core:jackson-core2.15.0 ... 2.18.5 (22 versions)
  • 2.19.0 up to 2.21.1: fixed in 2.21.1
  • 2.15.0 up to 2.18.6: fixed in 2.18.6
—
tools.jackson.core:jackson-core3.0.0 ... 3.1.0-rc1 (6 versions)
  • 3.0.0 up to 3.1.0: fixed in 3.1.0
—

Weakness Classification(1)

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

Data Freshness Timeline

(refreshed 9× in last 7d / 40× 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 125 total refreshes for this CVE.

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

Frequently asked(5)

What is CVE-2026-18401?
CVE-2026-18401 is a medium vulnerability published on August 4, 2026. The non-blocking (asynchronous) JSON parser in jackson-core does not enforce the maxNumberLength constraint defined in StreamReadConstraints (default: 1000 characters). An attacker able to submit JSON to an application that uses the async parser API can supply a number token of arbitrary length,…
When was CVE-2026-18401 disclosed?
CVE-2026-18401 was first published on August 4, 2026, with the most recent update on September 8, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-18401 actively exploited?
CVE-2026-18401 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.4% probability of exploitation in the next 30 days (32nd percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-18401?
CVE-2026-18401 has a CVSS base score of 6.9 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-18401?
A fix for CVE-2026-18401 is available: update to the fixed version the vendor names in its advisory. The vendor advisories EchelonGraph has for CVE-2026-18401 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-18401

Explore →

Is Your Infrastructure Affected by CVE-2026-18401?

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