FasterXML jackson-dataformat-protobuf: Signed integer overflow denial-of-service (CVE-2026-104016)
A signed integer overflow in the ProtobufParser component of jackson-dataformat-protobuf (CVE-2026-104016) allows unauthenticated remote attackers to trigger an OutOfMemoryError and crash Java applications by providing a maliciously crafted length-prefixed field.
CVE search metadata
CVE search record: CVE-2026-104016. Severity: high. CVSS: 7.5. KEV: no. Product: jackson-dataformat-protobuf. Brief: FasterXML jackson-dataformat-protobuf: Signed integer overflow denial-of-service (CVE-2026-104016). Brief link: https://feed.craftedsignal.io/briefs/2026-10-jackson-dataformat-protobuf-integer-overflow/
Triage facts
Revision 1- Applicability
- jackson-dataformat-protobuf
- Evidence
- Unknown
- Severity
- Low
- Action
- Elevated
- Sources
- 3 public sources
- Freshness
- Revision 1Oct 28, 01:35 UTC
- Vulnerabilities
- 1 CVE
- Source quality
- B2Likely
A signed integer overflow vulnerability in jackson-dataformat-protobuf (CVE-2026-104016) allows attackers to crash services via an OutOfMemoryError. The vulnerability exists because ProtobufParser utilizes 32-bit signed integer arithmetic for bounds checking when parsing length-prefixed strings. By providing a varint-encoded length near Integer.MAX_VALUE, an attacker can cause an overflow during pointer calculation, bypassing bounds checks and triggering an unrestrained memory allocation in TextBuffer.expandCurrentSegment.
This vulnerability is significant because existing configuration-based protections, such as StreamReadConstraints (e.g., maxStringLength, maxDocumentLength), fail to gate this specific code path. Furthermore, the JVM rejects the resulting massive array allocation before application-level heap constraints are evaluated, making -Xmx heap tuning ineffective as a mitigation.
Impact
Successful exploitation results in an immediate service disruption via OutOfMemoryError, effectively achieving a denial-of-service (DoS) against any Java service processing untrusted Protobuf data using affected versions of the library.
Recommendation
- Identify all Java applications utilizing
jackson-dataformat-protobufin the dependency tree. - Prioritize updating to the patched version of
jackson-dataformat-protobufas identified in the upstream GitHub advisory (GHSA-c2rq-mcfv-jw29). - Implement request size limits at the network edge or WAF layer to prevent processing of excessively large, malformed Protobuf messages if patching is delayed.
- Monitor application logs for frequent
OutOfMemoryErrorevents associated with deserialization processes.
Immediate actions
Inventory all applications using jackson-dataformat-protobuf and apply vendor patches
Threat Hunt
Search application logs for Java stack traces containing 'OutOfMemoryError' and 'ProtobufParser'
Data: Application log files, JVM stderr logs
Mitigations
Deploy network-level filtering to block malformed Protobuf traffic if immediate patching is not feasible
CVE-2026-104016
Gaps
- Need to verify versioning information against the GitHub Security Advisory