CVE-2025-21786

workqueue: Put the pwq after detaching the rescuer from the pool

High · published February 27, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
13.3
In the wild
Unconfirmed
What it is

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

workqueue: Put the pwq after detaching the rescuer from the pool

The commit 68f83057b913("workqueue: Reap workers via kthread_stop() and

remove detach_completion") adds code to reap the normal workers but

mistakenly does not handle the rescuer and also removes the code waiting

for the rescuer in put_unbound_pool(), which caused a use-after-free bug

reported by Cheung Wall.

To avoid the use-after-free bug, the pool’s reference must be held until

the detachment is complete. Therefore, move the code that puts the pwq

after detaching the rescuer from the pool.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00232 · 13.3th percentile
Published
2025-02-27T02:18Z
EPSS history
Timeline
  • 27 FEB 02:18Z
    workqueue: Put the pwq after detaching the rescuer from the pool
    cvelistv5