{"id":"CVE-2026-104895","revision":null,"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":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-31T17:06:49.5453808+00:00","complete":true,"records":1766,"lastAttemptAt":"2026-10-31T17:06:49.5453808+00:00","lastSuccessAt":"2026-10-31T17:06:49.7005889+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:06:49.7005902+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-9266d7b009bf9c4a0ccdcb5cbdea7f905cb3c4d92fd3b41581ece16b2cfdc4e7-784b766ea38315a717f0f300983019726d402e8f914672a2c27c9b5c7ac467c0","complete":true,"records":417579,"lastAttemptAt":"2026-10-31T17:04:51.2200836+00:00","lastSuccessAt":"2026-10-31T17:04:51.1803831+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:04:51.2200836+00:00","snapshotPublishedAt":"2026-10-31T16:26:28+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-1ea90a365f5b43ef9a5b92be53fe0867","complete":true,"records":13565,"lastAttemptAt":"2026-10-31T17:07:15.7147939+00:00","lastSuccessAt":"2026-10-31T11:34:32.033+00:00","error":null,"lastVerifiedAt":"2026-10-31T11:34:32.033+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13637,"expectedIdentifiers":13637,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-31T17:06:49.5453808+00:00","complete":true,"records":1094,"lastAttemptAt":"2026-10-31T17:06:49.5453808+00:00","lastSuccessAt":"2026-10-31T17:06:49.7014183+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:06:49.7014185+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-76f55bade79746ceb7d00f18b2c86efc","complete":true,"records":13578,"lastAttemptAt":"2026-10-31T17:07:15.0280111+00:00","lastSuccessAt":"2026-10-31T17:07:15.025+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:07:15.025+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13637,"expectedIdentifiers":13637,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-21dcd6662970dfea02e4ea60ee637115e8d92664947484d2b9276b3f6568a84f","complete":true,"records":9815,"lastAttemptAt":"2026-10-31T17:06:49.3868114+00:00","lastSuccessAt":"2026-10-30T23:47:34.1817587+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:06:49.3868114+00:00","snapshotPublishedAt":"2026-10-30T23:33:17+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-2de9ccc5290f060c7aa63f89c25dd76f655a64ba1aba7c05c97fa3bee4f09899","complete":true,"records":1967,"lastAttemptAt":"2026-10-31T17:04:51.3839718+00:00","lastSuccessAt":"2026-10-28T20:55:34.2982937+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:04:51.3839718+00:00","snapshotPublishedAt":"2026-10-28T20:03:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-f95f76cd406ae5bae3de632ad37fd2d5160b44f5e6b51748ac6f8f0c0c88e72b","complete":true,"records":3028,"lastAttemptAt":"2026-10-31T17:06:49.5070707+00:00","lastSuccessAt":"2026-10-30T23:47:38.4914494+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:06:49.5070707+00:00","snapshotPublishedAt":"2026-10-30T23:18:12+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-712291bb5a0ee4f1ca7325e317f98ff05e9ab8d14f863abf00a323d9e6d8331e","complete":true,"records":230994,"lastAttemptAt":"2026-10-31T17:06:49.2526999+00:00","lastSuccessAt":"2026-10-31T17:06:47.8999408+00:00","error":null,"lastVerifiedAt":"2026-10-31T17:06:49.2526999+00:00","snapshotPublishedAt":"2026-10-31T16:33:38+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}