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

  net_sched: red: fix a race in __red_change()

  Gerrard Tai reported a race condition in RED, whenever SFQ perturb timer
  fires at the wrong time.

  The race is as follows:…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net_sched: red: fix a race in __red_change()

  Gerrard Tai reported a race condition in RED, whenever SFQ perturb timer
  fires at the wrong time.

  The race is as follows:…
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-362
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 5.0, < 5.4.295'
  - 'linux_kernel >= 5.5, < 5.10.239'
  - 'linux_kernel >= 5.11, < 5.15.186'
  - 'linux_kernel >= 5.16, < 6.1.142'
  - 'linux_kernel >= 6.2, < 6.6.94'
  - 'linux_kernel >= 6.7, < 6.12.34'
  - 'linux_kernel >= 6.13, < 6.15.3'
  - linux_kernel = 6.16
  - debian_linux = 11.0
patched:
  - linux_kernel 6.15.3
published: '2025-07-03'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:18:27.337'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-38108'
references:
  - url: 'https://git.kernel.org/stable/c/110a47efcf23438ff8d31dbd9c854fae2a48bf98'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2790c4ec481be45a80948d059cd7c9a06bc37493'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/2a71924ca4af59ffc00f0444732b6cd54b153d0e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/444ad445df5496a785705019268a8a84b84484bb'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/4b755305b2b0618e857fdadb499365b5f2e478d1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/85a3e0ede38450ea3053b8c45d28cf55208409b8'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a1bf6a4e9264a685b0e642994031f9c5aad72414'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f569984417a4e12c67366e69bdcb752970de921d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: 'https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html'
    label: af854a3a-2127-422b-91ae-364da2661108
tags:
  - nvd
  - cve.org
epss: 0.00157
epssPercentile: 0.04811
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:47:28.023257Z'
ingestedAt: '2026-10-15T22:48:25.492Z'
---

## Overview

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

net_sched: red: fix a race in __red_change()

Gerrard Tai reported a race condition in RED, whenever SFQ perturb timer
fires at the wrong time.

The race is as follows:

CPU 0                                 CPU 1
[1]: lock root
[2]: qdisc_tree_flush_backlog()
[3]: unlock root
 |
 |                                    [5]: lock root
 |                                    [6]: rehash
 |                                    [7]: qdisc_tree_reduce_backlog()
 |
[4]: qdisc_put()

This can be abused to underflow a parent's qlen.

Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog()
should fix the race, because all packets will be purged from the qdisc
before releasing the lock.

## Affected

- `linux_kernel >= 5.0, < 5.4.295`
- `linux_kernel >= 5.5, < 5.10.239`
- `linux_kernel >= 5.11, < 5.15.186`
- `linux_kernel >= 5.16, < 6.1.142`
- `linux_kernel >= 6.2, < 6.6.94`
- `linux_kernel >= 6.7, < 6.12.34`
- `linux_kernel >= 6.13, < 6.15.3`
- `linux_kernel = 6.16`
- `debian_linux = 11.0`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.15.3`
