---
id: CVE-2024-35958
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: ena: Fix incorrect descriptor free behavior

  ENA has two types of TX queues:
  - queues which only process TX packets arriving from the network stack
  - queues which …
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: ena: Fix incorrect descriptor free behavior

  ENA has two types of TX queues:
  - queues which only process TX packets arriving from the network stack
  - queues which …
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'
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.6, < 5.10.216'
  - 'linux_kernel >= 5.11, < 5.15.156'
  - 'linux_kernel >= 5.16, < 6.1.87'
  - 'linux_kernel >= 6.2, < 6.6.28'
  - 'linux_kernel >= 6.7, < 6.8.7'
  - linux_kernel = 6.9
  - debian_linux = 10.0
patched:
  - linux_kernel 6.8.7
published: '2024-05-20'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:17:55.397'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2024-35958'
references:
  - url: 'https://git.kernel.org/stable/c/19ff8fed3338898b70b2aad831386c78564912e1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5c7f2240d9835a7823d87f7460d8eae9f4e504c7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b26aa765f7437e1bbe8db4c1641b12bd5dd378f0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/bf02d9fe00632d22fa91d34749c7aacf397b6cde'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c31baa07f01307b7ae05f3ce32b89d8e2ba0cc1d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fdfbf54d128ab6ab255db138488f9650485795a2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/19ff8fed3338898b70b2aad831386c78564912e1'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/5c7f2240d9835a7823d87f7460d8eae9f4e504c7'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/b26aa765f7437e1bbe8db4c1641b12bd5dd378f0'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/bf02d9fe00632d22fa91d34749c7aacf397b6cde'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/c31baa07f01307b7ae05f3ce32b89d8e2ba0cc1d'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://git.kernel.org/stable/c/fdfbf54d128ab6ab255db138488f9650485795a2'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-265688.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
  - url: 'https://cert-portal.siemens.com/productcert/html/ssa-613116.html'
    label: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
tags:
  - nvd
  - cve.org
epss: 0.00259
epssPercentile: 0.17442
ingestedAt: '2026-10-15T03:30:12.692Z'
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2024-05-29T18:17:10.294133Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

net: ena: Fix incorrect descriptor free behavior

ENA has two types of TX queues:
- queues which only process TX packets arriving from the network stack
- queues which only process TX packets forwarded to it by XDP_REDIRECT
  or XDP_TX instructions

The ena_free_tx_bufs() cycles through all descriptors in a TX queue
and unmaps + frees every descriptor that hasn't been acknowledged yet
by the device (uncompleted TX transactions).
The function assumes that the processed TX queue is necessarily from
the first category listed above and ends up using napi_consume_skb()
for descriptors belonging to an XDP specific queue.

This patch solves a bug in which, in case of a VF reset, the
descriptors aren't freed correctly, leading to crashes.

## Affected

- `linux_kernel >= 5.6, < 5.10.216`
- `linux_kernel >= 5.11, < 5.15.156`
- `linux_kernel >= 5.16, < 6.1.87`
- `linux_kernel >= 6.2, < 6.6.28`
- `linux_kernel >= 6.7, < 6.8.7`
- `linux_kernel = 6.9`
- `debian_linux = 10.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.8.7`
