---
id: CVE-2026-53009
title: |-
  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…
summary: |-
  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…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-415
  - CWE-416
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.17, < 7.0.10'
  - enterprise_linux = 7.0
  - enterprise_linux = 8.0
  - enterprise_linux = 9.0
  - enterprise_linux = 10.0
patched:
  - linux_kernel 7.0.10
published: '2026-06-24'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T13:20:27.760'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53009'
references:
  - url: 'https://git.kernel.org/stable/c/1a303baa715e6b78d6a406aaf335f87ff35acfcd'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4c08fc2119ef0281cfa2cee007acf0a251be55f2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://access.redhat.com/errata/RHSA-2026:42919'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:54246'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:54247'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:65711'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/errata/RHSA-2026:65712'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://access.redhat.com/security/cve/CVE-2026-53009'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2492390'
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53009.json
    label: 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-53009'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53009'
  - url: >-
      https://lore.kernel.org/linux-cve-announce/2026062449-CVE-2026-53009-4fef@gregkh/T
  - url: 'https://access.redhat.com/errata/RHSA-2026:69089'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00138
epssPercentile: 0.03609
scores:
  nvd: 7.8
  vendor: 7
  cna: 7.8
ingestedAt: '2026-07-11T17:13:40.340Z'
---

## Overview

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.

## Affected

- `linux_kernel >= 4.17, < 7.0.10`
- `enterprise_linux = 7.0`
- `enterprise_linux = 8.0`
- `enterprise_linux = 9.0`
- `enterprise_linux = 10.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.10`

## Vendor advisories

- **RHSA-2026:42919** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux BaseOS (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10), Red Hat Enterprise Linux Real Time for NFV (v. 10), Red Hat Enterprise Linux Real Time (v. 10) · released 2026-07-21 · [advisory](https://access.redhat.com/errata/RHSA-2026:42919)
- **RHSA-2026:65712** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream E4S (v.9.4), Red Hat Enterprise Linux BaseOS E4S (v.9.4), Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4), Red Hat Enterprise Linux Real Time E4S (v.9.4) · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:65712)
- **RHSA-2026:54246** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-08-12 · [advisory](https://access.redhat.com/errata/RHSA-2026:54246)
- **RHSA-2026:65711** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS AUS (v.8.6), Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:65711)
- **RHSA-2026:54247** · Red Hat · fixed in: Red Hat Enterprise Linux NFV (v. 8), Red Hat Enterprise Linux RT (v. 8) · released 2026-08-12 · [advisory](https://access.redhat.com/errata/RHSA-2026:54247)
- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · updated 2026-09-21 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53009.json)
- **RHSA-2026:69089** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream EUS (v. 10.0), Red Hat Enterprise Linux BaseOS EUS (v. 10.0), Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0), Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0), Red Hat Enterprise Linux Real Time EUS (v. 10.0) · released 2026-09-21 · [advisory](https://access.redhat.com/errata/RHSA-2026:69089)
