{"id":"CVE-2026-104895","revision":"b255bc5bde29478ba0f137ca7d38af26","records":[{"revision":"b255bc5bde29478ba0f137ca7d38af26","observedAt":"2026-10-28T01:46:00.79+00:00","statement":{"source":"cve-program","id":"CVE-2026-104895","aliases":[],"title":"jackson-dataformat-smile: unbounded eager byte[] allocation for raw binary in the async parser allows OutOfMemoryError denial of service","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.\n\n\n\nA 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.\n\n\n\nThis 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.","state":0,"publishedAt":"2026-10-28T00:01:44.496+00:00","modifiedAt":"2026-10-28T00:01:44.496+00:00","affected":[{"ecosystem":"https://repo.maven.apache.org/maven2","name":"com.fasterxml.jackson.dataformat:jackson-dataformat-smile","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"FasterXML\",\n                    \"product\": \"jackson-dataformat-smile\",\n                    \"collectionURL\": \"https://repo.maven.apache.org/maven2\",\n                    \"packageName\": \"com.fasterxml.jackson.dataformat:jackson-dataformat-smile\",\n                    \"repo\": \"https://github.com/FasterXML/jackson-dataformats-binary\",\n                    \"versions\": [\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"2.9.0\",\n                            \"lessThan\": \"2.18.12\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"unaffected\",\n                            \"version\": \"2.18.12\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"2.19.0\",\n                            \"lessThan\": \"2.21.8\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"unaffected\",\n                            \"version\": \"2.21.8\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"2.22.0\",\n                            \"lessThan\": \"2.22.4\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"unaffected\",\n                            \"version\": \"2.22.4\",\n                            \"versionType\": \"maven\"\n                        }\n                    ],\n                    \"defaultStatus\": \"unaffected\"\n                }"},{"ecosystem":"https://repo.maven.apache.org/maven2","name":"tools.jackson.dataformat:jackson-dataformat-smile","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"FasterXML\",\n                    \"product\": \"jackson-dataformat-smile\",\n                    \"collectionURL\": \"https://repo.maven.apache.org/maven2\",\n                    \"packageName\": \"tools.jackson.dataformat:jackson-dataformat-smile\",\n                    \"repo\": \"https://github.com/FasterXML/jackson-dataformats-binary\",\n                    \"versions\": [\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"3.0.0\",\n                            \"lessThan\": \"3.1.8\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"unaffected\",\n                            \"version\": \"3.1.8\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"affected\",\n                            \"version\": \"3.2.0\",\n                            \"lessThan\": \"3.2.4\",\n                            \"versionType\": \"maven\"\n                        },\n                        {\n                            \"status\": \"unaffected\",\n                            \"version\": \"3.2.4\",\n                            \"versionType\": \"maven\"\n                        }\n                    ],\n                    \"defaultStatus\": \"unaffected\"\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":"HIGH"}],"references":["https://github.com/FasterXML/jackson-dataformats-binary/security/advisories/GHSA-h3c2-2m49-r49w"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-104895","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-104895","identifiers":["CVE-2026-104895"]},"retained":false,"historicalAffected":[]}],"coverage":[]}