Patch Forecast
Amber warning
Patch this week.

CVE-2026-91777 · GHSA-cxp5-3px4-pw24

jackson-databind quadratic forward-reference completion

Risk score
63/100
CVSS
7.5 v3.1
Exploit chance (30 days)
0.4%
Published
30 Sep 2026

Open in the live forecast Today's forecast

What to know

What it is
When an @JsonIdentityInfo collection or map first creates N unresolved object-ID references and later resolves the same IDs in reverse order, jackson-databind scans the remaining pending-reference accumulator for each resolution. A shallow JSON document whose size grows linearly can therefore cause quadratic CPU work …
Affected
com.fasterxml.jackson.core:jackson-databind (maven) >= 2.19.0, <= 2.21.6; tools.jackson.core:jackson-databind (maven) >= 3.0.0, <= 3.1.6; tools.jackson.core:jackson-databind (maven) >= 3.2.0, <= 3.2.2; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.5.0, <= 2.18.10
Fix
Upgrade com.fasterxml.jackson.core:jackson-databind to 2.21.7 or 2.18.11 or 2.22.3; tools.jackson.core:jackson-databind to 3.1.7 or 3.2.3 (whichever matches your release line) or later.
Exploitation
No known exploitation

Story map

Story map: com.fasterxml.jackson.core:jackson-databindTHE FLAWSTHE FIXCVE-2026-91777Jackson-databind quadraticforward-reference completionCVSS 7.5 · EPSS 0%CVE-2026-91776Jackson-databind retains everyunknown raw type IDCVSS 7.5 · EPSS 0%CVE-2026-77310Jackson-databind: Incompletefix for CVE-2026-54514: eagerDNS resolution (SSRF) still…CVSS 5.3 · EPSS 0%FixUpgradecom.fasterxml.jackson.core:jackson-databind to 2.21.7 or2.18.11 or 2.22.3…Who is exposedcom.fasterxml.jackson.core:jackson-databind (maven) >=2.19.0, <= 2.21.6;tools.jackson.core:jackson-databind (maven) >= 3.0.0, <=…AMBER · PATCH THIS WEEKcom.fasterxml.jackson.core:jacks…When an @JsonIdentityInfocollection or map first createsN unresolved object-IDreferences and later resolvesthe same IDs in reverse order,jackson-databind scans theremaining pending-reference…Where it standsNo known exploitationCONNECTS TOSame weaknessDenial of service (CWE-400)252 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

com.fasterxml.jackson.core:jackson-databind: Amber, patch this week. When an @JsonIdentityInfo collection or map first creates N unresolved object-ID references and later resolves the same IDs in reverse order, jackson-databind scans the remaining pending-reference accumulator for each resolution. A shallow JSON document whose size grows linearly can therefore cause quadratic CPU work …

The flaws

  • CVE-2026-91777: Jackson-databind quadratic forward-reference completion (CVSS 7.5 · EPSS 0%)
  • CVE-2026-91776: Jackson-databind retains every unknown raw type ID (CVSS 7.5 · EPSS 0%)
  • CVE-2026-77310: Jackson-databind: Incomplete fix for CVE-2026-54514: eager DNS resolution (SSRF) still present in InetAddress deserialization (CVSS 5.3 · EPSS 0%)

The fix

Fix: Upgrade com.fasterxml.jackson.core:jackson-databind to 2.21.7 or 2.18.11 or 2.22.3; tools.jackson.core:jackson-databind to 3.1.7 or 3.2.3 (whichever matches your release line) or later.

Who is exposed: com.fasterxml.jackson.core:jackson-databind (maven) >= 2.19.0, <= 2.21.6; tools.jackson.core:jackson-databind (maven) >= 3.0.0, <= 3.1.6; tools.jackson.core:jackson-databind (maven) >= 3.2.0, <= 3.2.2; com.fasterxml.jackson.core:jackson-databind (maven) >= 2.5.0, <= 2.18.10

Where it stands

  • No known exploitation

Connects to

Why it is Amber

  • CVSS 7.5 high
  • Remotely exploitable without logging in
  • On your watchlist: Maven

Affected packages

PackageEcosystemVulnerableFixed in
com.fasterxml.jackson.core:jackson-databindmaven>= 2.19.0, <= 2.21.62.21.7
tools.jackson.core:jackson-databindmaven>= 3.0.0, <= 3.1.63.1.7
tools.jackson.core:jackson-databindmaven>= 3.2.0, <= 3.2.23.2.3
com.fasterxml.jackson.core:jackson-databindmaven>= 2.5.0, <= 2.18.102.18.11
com.fasterxml.jackson.core:jackson-databindmaven>= 2.22.0, <= 2.22.22.22.3

References

Original description

### Summary When an `@JsonIdentityInfo` collection or map first creates N unresolved object-ID references and later resolves the same IDs in reverse order, jackson-databind scans the remaining pending-reference accumulator for each resolution. A shallow JSON document whose size grows linearly can therefore cause quadratic CPU work during deserialization. ### Details The affected path is forward-reference completion in `CollectionDeserializer.CollectionReferringAccumulator.resolveForwardReference()` and the corresponding map implementation. The implementation performs a linear search of the pending accumulator for every resolved object ID. The behavior is runtime-confirmed in jackson-databind 2.5.0, 2.22.1, and 3.2.1. Current 2.22 and 3.2 source branches retained the same design when rechecked. A 2.4.0 control fails closed before successful reverse-order completion, so 2.5.0 is the conservative runtime-confirmed affected floor. The patched versions are: 2.18.11, 2.21.7, 2.22.3, 3.1.7 and 3.2.3. The vulnerable application must deserialize attacker-influenced JSON into an identity-enabled collection or map. The issue does not require deep nesting or syntactically unusual JSON. Suggested correction: replace repeated linear lookup/removal with a keyed pending-reference structure or another design that provides linear or amortized-linear completion. A regression should preserve input order, duplicate-ID behavior, and unresolved-ID errors while bounding reverse-order resolution work. ### PoC The proof constructs a shallow collection containing N unresolved `@JsonIdentityInfo` references followed by definitions of those same IDs in reverse order. Its ID class counts `equals()` calls, giving a deterministic work measure rather than a timing-dependent result. With N=2,000, affected versions perform exactly 2,003,000 ID comparisons. An equally sized control in which every reference is already resolved performs zero comparisons in the pending-reference lookup path. The run is bounded to a 512 MiB JVM. The result demonstrates quadratic growth: approximately `N * (N + 1) / 2` comparisons, plus fixed setup comparisons. ### Impact An unauthenticated source that can submit JSON to an application using the affected identity-enabled collection or map shape can consume quadratic CPU and exhaust a request-time or worker-capacity budget, causing denial of service. The application model/configuration prerequisite is material. No confidentiality, integrity, code-execution, or parser-depth impact is claimed. Requested credit: Daniel Birtwhistle

Last activity 30 Sep 2026. Patch Forecast updates every hour.