# CVE-2026-104895: FasterXML Jackson Smile async parser integer overflow in raw binary allocation

Source: https://junglewise.ai/threats/cve-2026-104895-the-asynchronous-smile-parser-nonblockingbytearrayparser-uses-a  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-28. Updated: 2026-10-28  
License: CC BY 4.0 with a link back

CVE-2026-104895 · Severity: high · CVSS 7.5 · Published 2026-10-28

Jackson's asynchronous Smile parser, used to deserialize Smile-formatted data in applications (commonly in reactive web frameworks like Spring WebFlux), contains a denial-of-service vulnerability where crafted input can force gigabytes of memory allocation or crash the parsing thread. An attacker sending roughly ten malicious bytes to a service parsing Smile data can exhaust memory or trigger a crash, disrupting application availability.

Vendors: [FasterXML](https://junglewise.ai/threats/vendors/fasterxml).

## Quick answers

**Is CVE-2026-104895 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104895 being exploited in the wild.

**How severe is CVE-2026-104895?** High severity, with a CVSS score of 7.5, published 28 October 2026.

**Which products and versions are affected?** FasterXML Jackson-Dataformat-Smile 2.9.0–2.18.11, 2.19.0–2.21.7, 2.22.0–2.22.3, 3.0.0–3.1.7, 3.2.0–3.2.3.

**Is there a fix for CVE-2026-104895?** Yes: fixed in jackson-dataformat-smile 2.18.12, 2.21.8, 2.22.4, 3.1.8, 3.2.4. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-104895 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-104895?** Check whether you run FasterXML Jackson-Dataformat-Smile at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in jackson-dataformat-smile 2.18.12, 2.21.8, 2.22.4, 3.1.8, 3.2.4

## Technical details

The NonBlockingByteArrayParser's _decodeVInt() method lacks an overflow guard when computing raw-binary lengths (missing the (value >>> 25) != 0 check present in the blocking parser), and _startRawBinary() eagerly allocates a byte[] of that length before reading the body. A crafted VInt on the 0xFD raw-binary marker either overflows to negative (triggering NegativeArraySizeException) or encodes a ~2 GB length, forcing immediate allocation that causes OutOfMemoryError. This escapes the parser contract as a non-JacksonException RuntimeException that is not caught by framework error handlers.

## Affected products

- FasterXML jackson-dataformat-smile 2.9.0–2.18.11, 2.19.0–2.21.7, 2.22.0–2.22.3, 3.0.0–3.1.7, 3.2.0–3.2.3

## Timeline

- 2026-10-20: disclosed: GitHub security advisory GHSA-h3c2-2m49-r49w published
- 2026-10-28: advisory: CVE-2026-104895 published to NVD

## References

- [https://repo.maven.apache.org/maven2](https://repo.maven.apache.org/maven2)
- [https://github.com/FasterXML/jackson-dataformats-binary/security/advisories/GHSA-h3c2-2m49-r49w](https://github.com/FasterXML/jackson-dataformats-binary/security/advisories/GHSA-h3c2-2m49-r49w)
