CVE-2026-110879

LOWCVSS 9.8 · CRITICAL

Signal is active with 4 mentions in latest observed window

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

NVD description

jackson-databind validates the outer class of a class-name type ID but accepts attacker-selected classes inside its generic arguments, even when those classes violate the declared type or would be rejected as direct type IDs. This bypasses the generic-argument validation added for CVE-2026-54512 (GHSA-j3rv-43j4-c7qm), of which this is an incomplete fix. DatabindContext._resolveAndValidateGeneric() checks the outer class against the declared base type and then passes each argument from the type ID to _validateTypeParameter(), which validates the argument against the outer base type rather than enforcing its corresponding declared generic binding. It also invokes validators with arguments that have not passed the subtype check those validators expect. Under the default DefaultBaseTypeLimitingValidator this accepts an unrelated class inside a generic subtype even when the same class is rejected as a direct type ID. Where an allowIfBaseType(...) rule approves the outer type, Jackson substitutes LaissezFaireSubTypeValidator, so the configured validator no longer restricts the embedded arguments. The element type of a plain array type ID such as [Lpkg.Gadget; is likewise left unvalidated once the array's base type is approved. Affected paths include annotation-based class-name polymorphism with a default Jackson 3.x JsonMapper, configured default typing in both Jackson 2.x and 3.x, and integrations that expose that default typing. The default-validator case requires no application-authored validator: with @JsonTypeInfo(use = Id.CLASS), a direct gadget type ID is rejected as "Not a subtype", while a type ID naming a generic wrapper around the same gadget is accepted and deserialized, including attacker-supplied bean properties. Where class-name default typing permits Map, a property declared as Map<String,String> accepts HashMap<FileSystemXmlApplicationContext,String>; map-key discovery then passes the attacker-controlled JSON property name to the selected class's one-string constructor. With Spring on the classpath and attacker-controlled XML the application can load, that constructor loads the XML and invokes ProcessBuilder.start() under the application account, giving arbitrary command execution. This issue affects com.fasterxml.jackson.core:jackson-databind from 2.10.0 and tools.jackson.core:jackson-databind from 3.0.0. Releases before 2.10.0 are not affected, because PolymorphicTypeValidator was introduced in jackson-databind 2.10.0.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-502

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

NONE

Threat summary

  • 4 mentions across 1 observed day

What's happening

  • 4 total mentions across 1 day

Deep dive

Activity timeline4 mentions / 1d
01234Mentions · 2026-10-28: 410-28
Referenced assets3 URLs
Full discourse4 posts
  • Parameter Watch@ParameterWatch

    🚨 CVE-2026-110879 (9.8) 🚨 Java apps using jackson-databind's default typing can be made to run commands on the server. jackson-databind 2.10.0 and later, and 3.0.0 and later, are affected. Releases before 2.10.0 aren't, and no fixed release is named. https://t.co/XFwxGDt4Uk

    1001042
    21 followersView on X
  • The Hacker Wire@TheHackerWire

    🚨 CVE-2026-110879 (CVSS 9.8 Critical) PolymorphicTypeValidator bypass in jackson-databind allows unauthenticated remote attackers to trigger arbitrary Java command execution. ⚡ Action: Update jackson-databind immediately. 🔗 https://www.thehackerwire.com/vulnerability/CVE-2026-110879/ https://t.co/gs41IMeLGU

    0001063
    201 followersView on X
  • NewNormal Security@NewScanTeam

    NewNormal Security turns CVEs since the previous batch into new detections, every day. 𝗗𝗮𝗶𝗹𝘆 𝗖𝗩𝗘 𝗥𝗲𝗽𝗼𝗿𝘁 — 28 Oct 2026 𝗔𝗱𝗱𝗲𝗱 to NewScan 𝘁𝗼𝗱𝗮𝘆: 🚨 Known-vulnerable Brotli decoder in a public dependency list — one malformed compressed body crashes it or runs code, unauthenticated (Google CVE-2026-111497) 📦 Deserialization allow-list bypass via nested generic types — a denied gadget rides in wrapped in an allowed container (FasterXML CVE-2026-110879) 🔀 SSRF filter bypass via NAT64 address — an internal IP in a form every IP library calls public, delivered anyway (Tencent CVE-2026-118376) Test your stack with NewScan — free, self-hosted: https://newnormalsecurity.com/newscan?utm_source=x&utm_medium=social&utm_campaign=daily-cve #infosec #AppSec #SSRF #CSO #REDTEAM

    0000017
    6 followersView on X
  • Eliran Emuna@EmunaEliran

    🚨 jackson-databind: CVE-2026-110879, CVSS 3.1 9.8 (CNA) ⚠️ Validator bypass via generic type args &amp; array element types → arbitrary class instantiation 🔁 Incomplete fix for CVE-2026-54512 ✅ Fixed: 2.18.12, 2.21.8, 2.22.4, 3.1.8, 3.2.4 🔗 https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-m8xf-2cr7-77ph #Java #AppSec https://t.co/9fjSJq7naV

    0000032
    76 followersView on X

Explore more