{"id":"CVE-2026-97506","state":"PUBLISHED","title":"crypto: ixp4xx - fix buffer chain unwind on allocation failure","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: ixp4xx - fix buffer chain unwind on allocation failure\n\nchainup_buffers() builds a linked list of buffer descriptors for a\nscatterlist. If dma_pool_alloc() fails while constructing the list, the\ncurrent code sets buf to NULL and later dereferences it unconditionally\nat the end of the function:\n\n  buf->next = NULL;\n  buf->phys_next = 0;\n\nThis can lead to a null-pointer dereference on allocation failure.\n\nIf the failure happens after part of the descriptor chain has already\nbeen allocated and DMA-mapped, the partially constructed chain also\nneeds to be released.\n\nFix this by terminating the partially constructed chain on allocation\nfailure and letting the callers unwind it via their existing cleanup\npaths. Also fix ablk_perform() to preserve the hook pointers before\nchecking for failure, so partially built chains can be freed correctly.","publishedAt":"2026-09-24T16:04:55.504Z","updatedAt":"2026-10-03T10:59:03.858Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"d4007867be42d71795b78fa7f8ce7514dda9ca83","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"4918b0bd7d2baafb45d87dca9e322137c96005c2","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"04cb00106ca4d0fa9eca24cadc4eda6036e855c8","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"028a7f4f3d69e551f6bf9f728d547bbf4cfc707d","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"25056329384010a8672552b134f609601dc4f80e","versionType":"git"},{"version":"5a80273150a8a1725fa70418d106eb1f2ee8fd2f","status":"affected","versionType":"git"},{"version":"82a8becb9c2c52fc5e67057a43aeded1f0731e7b","status":"affected","versionType":"git"},{"version":"68845515c8b11791b547a2838e22c27dfa3115ee","status":"affected","versionType":"git"},{"version":"2.6.27.22","status":"affected","lessThan":"2.6.28","versionType":"semver"},{"version":"2.6.28.10","status":"affected","lessThan":"2.6.29","versionType":"semver"},{"version":"2.6.29.3","status":"affected","lessThan":"2.6.30","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.30","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.30","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.111","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"]}],"references":["https://git.kernel.org/stable/c/d4007867be42d71795b78fa7f8ce7514dda9ca83","https://git.kernel.org/stable/c/4918b0bd7d2baafb45d87dca9e322137c96005c2","https://git.kernel.org/stable/c/8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991","https://git.kernel.org/stable/c/04cb00106ca4d0fa9eca24cadc4eda6036e855c8","https://git.kernel.org/stable/c/028a7f4f3d69e551f6bf9f728d547bbf4cfc707d","https://git.kernel.org/stable/c/25056329384010a8672552b134f609601dc4f80e"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/97xxx/CVE-2026-97506.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-97506","state":"PUBLISHED","datePublished":"2026-09-24T16:04:55.504Z","dateUpdated":"2026-10-03T10:59:03.858Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-24T16:01:01.151Z"},"containers":{"cna":{"title":"crypto: ixp4xx - fix buffer chain unwind on allocation failure","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncrypto: ixp4xx - fix buffer chain unwind on allocation failure\n\nchainup_buffers() builds a linked list of buffer descriptors for a\nscatterlist. If dma_pool_alloc() fails while constructing the list, the\ncurrent code sets buf to NULL and later dereferences it unconditionally\nat the end of the function:\n\n  buf->next = NULL;\n  buf->phys_next = 0;\n\nThis can lead to a null-pointer dereference on allocation failure.\n\nIf the failure happens after part of the descriptor chain has already\nbeen allocated and DMA-mapped, the partially constructed chain also\nneeds to be released.\n\nFix this by terminating the partially constructed chain on allocation\nfailure and letting the callers unwind it via their existing cleanup\npaths. Also fix ablk_perform() to preserve the hook pointers before\nchecking for failure, so partially built chains can be freed correctly."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"d4007867be42d71795b78fa7f8ce7514dda9ca83","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"4918b0bd7d2baafb45d87dca9e322137c96005c2","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"04cb00106ca4d0fa9eca24cadc4eda6036e855c8","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"028a7f4f3d69e551f6bf9f728d547bbf4cfc707d","versionType":"git"},{"version":"0d44dc59b2b434b29aafeae581d06f81efac7c83","status":"affected","lessThan":"25056329384010a8672552b134f609601dc4f80e","versionType":"git"},{"version":"5a80273150a8a1725fa70418d106eb1f2ee8fd2f","status":"affected","versionType":"git"},{"version":"82a8becb9c2c52fc5e67057a43aeded1f0731e7b","status":"affected","versionType":"git"},{"version":"68845515c8b11791b547a2838e22c27dfa3115ee","status":"affected","versionType":"git"},{"version":"2.6.27.22","status":"affected","lessThan":"2.6.28","versionType":"semver"},{"version":"2.6.28.10","status":"affected","lessThan":"2.6.29","versionType":"semver"},{"version":"2.6.29.3","status":"affected","lessThan":"2.6.30","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.30","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.30","versionType":"semver"},{"version":"5.15.222","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.189","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.158","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.111","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.53","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/crypto/intel/ixp4xx/ixp4xx_crypto.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d4007867be42d71795b78fa7f8ce7514dda9ca83"},{"url":"https://git.kernel.org/stable/c/4918b0bd7d2baafb45d87dca9e322137c96005c2"},{"url":"https://git.kernel.org/stable/c/8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991"},{"url":"https://git.kernel.org/stable/c/04cb00106ca4d0fa9eca24cadc4eda6036e855c8"},{"url":"https://git.kernel.org/stable/c/028a7f4f3d69e551f6bf9f728d547bbf4cfc707d"},{"url":"https://git.kernel.org/stable/c/25056329384010a8672552b134f609601dc4f80e"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-03T10:59:03.858Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"5.15.222"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.1.189"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.6.158"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.12.111"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"6.18.53"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.30","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27.22"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.29.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}