[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025070323-CVE-2025-38108-9c8c@gregkh>
Date: Thu, 3 Jul 2025 10:35:25 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-38108: net_sched: red: fix a race in __red_change()
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
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.
The Linux kernel CVE team has assigned CVE-2025-38108 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 5.4.295 with commit 2790c4ec481be45a80948d059cd7c9a06bc37493
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 5.10.239 with commit a1bf6a4e9264a685b0e642994031f9c5aad72414
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 5.15.186 with commit 110a47efcf23438ff8d31dbd9c854fae2a48bf98
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 6.1.142 with commit f569984417a4e12c67366e69bdcb752970de921d
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 6.6.94 with commit 2a71924ca4af59ffc00f0444732b6cd54b153d0e
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 6.12.34 with commit 4b755305b2b0618e857fdadb499365b5f2e478d1
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 6.15.3 with commit 444ad445df5496a785705019268a8a84b84484bb
Issue introduced in 5.0 with commit 0c8d13ac96070000da33f394f45e9c19638483c5 and fixed in 6.16-rc2 with commit 85a3e0ede38450ea3053b8c45d28cf55208409b8
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-38108
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
net/sched/sch_red.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/2790c4ec481be45a80948d059cd7c9a06bc37493
https://git.kernel.org/stable/c/a1bf6a4e9264a685b0e642994031f9c5aad72414
https://git.kernel.org/stable/c/110a47efcf23438ff8d31dbd9c854fae2a48bf98
https://git.kernel.org/stable/c/f569984417a4e12c67366e69bdcb752970de921d
https://git.kernel.org/stable/c/2a71924ca4af59ffc00f0444732b6cd54b153d0e
https://git.kernel.org/stable/c/4b755305b2b0618e857fdadb499365b5f2e478d1
https://git.kernel.org/stable/c/444ad445df5496a785705019268a8a84b84484bb
https://git.kernel.org/stable/c/85a3e0ede38450ea3053b8c45d28cf55208409b8
Powered by blists - more mailing lists