Description
The asynchronous Smile parser (NonBlockingByteArrayParser) uses a raw-binary length prefix taken from untrusted input to allocate a byte[] before the body is read, with no upper bound and no overflow check. On the raw-binary marker 0xFD, _decodeVInt() computes (value << 6) + (i & 0x3F) without the (value >>> 25) != 0 overflow guard present in the blocking SmileParser._readUnsignedVInt, and _startRawBinary then allocates the declared length immediately.
A Smile feed of roughly ten bytes can therefore force an eager allocation of approximately 2 GB, producing an OutOfMemoryError on reactive or asynchronous Smile endpoints. A VInt crafted to overflow int yields a negative length and a NegativeArraySizeException, a RuntimeException that is not a JacksonException and so escapes the parser contract. Either outcome crashes the request or processing thread.
This is the same class of issue as CVE-2020-28491 in the CBOR parser of this library, which was fixed with a LONGEST_NON_CHUNKED_BINARY guard; the asynchronous Smile parser never received the equivalent guard. No privileges or user interaction beyond the ability to submit data for parsing are required.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| FasterXML | jackson-dataformat-smile | 2.9.0 – < 2.18.12, 2.19.0 – < 2.21.8, 2.22.0 – < 2.22.4, 3.0.0 – < 3.1.8, 3.2.0 – < 3.2.4 | 2.18.12 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | jackson-dataformats-binary | 2.22.4-1 | — |
| Debian 13 | jackson-dataformat-smile | No fix yet | — |
| Debian 12 | jackson-dataformat-smile | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite Capsule 6 | openvox-agent | 8.32.0-1.el8sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | openvox-server | 8.18.0-1.el8sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-brotli +1 | 1.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-django +1 | 4.2.30-2.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-gitpython +1 | 3.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-pillow +1 | 13.0.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-pyyaml +1 | 6.0.1-1.el8pc | RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python-urllib3 +1 | 2.8.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite Capsule 6 | python3.12-brotli | 1.2.1-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite Capsule 6 | python3.12-django | 4.2.30-3.el9pc | RHSA-2026:95657 |
| Red Hat Satellite Capsule 6 | python3.12-gitpython | 3.2.1-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite Capsule 6 | python3.12-pillow | 13.0.0-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite Capsule 6 | python3.12-urllib3 | 2.8.0-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite 6 | openvox-agent | 8.32.0-1.el8sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | openvox-server | 8.18.0-1.el8sat | RHSA-2026:95657, RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-brotli +1 | 1.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-django +1 | 4.2.30-2.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-gitpython +1 | 3.2.1-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-pillow +1 | 13.0.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python-pyyaml +1 | 6.0.1-1.el8pc | RHSA-2026:95655 |
| Red Hat Satellite 6 | python-urllib3 +1 | 2.8.0-1.el8pc | RHSA-2026:95656, RHSA-2026:95655 |
| Red Hat Satellite 6 | python3.12-brotli | 1.2.1-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite 6 | python3.12-django | 4.2.30-3.el9pc | RHSA-2026:95657 |
| Red Hat Satellite 6 | python3.12-gitpython | 3.2.1-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite 6 | python3.12-pillow | 13.0.0-1.el9pc | RHSA-2026:95657 |
| Red Hat Satellite 6 | python3.12-urllib3 | 2.8.0-1.el9pc | RHSA-2026:95657 |
Advisories 4
- RHSA-2026:95656 Red Hat Security Advisory: Satellite 6.17 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:95655 Red Hat Security Advisory: Satellite 6.16 EUS security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:95657 Red Hat Security Advisory: Satellite 6.18 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
- RHSA-2026:95652 Red Hat Security Advisory: Satellite 6.19 security update Red Hat Security Advisories (RHSA) · Nov 13, 2026
References
- GHSA-h3c2-2m49-r49w vendor-advisory