7.8

CVE-2025-38584

padata: Fix pd UAF once and for all

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

padata: Fix pd UAF once and for all

There is a race condition/UAF in padata_reorder that goes back
to the initial commit.  A reference count is taken at the start
of the process in padata_do_parallel, and released at the end in
padata_serial_worker.

This reference count is (and only is) required for padata_replace
to function correctly.  If padata_replace is never called then
there is no issue.

In the function padata_reorder which serves as the core of padata,
as soon as padata is added to queue->serial.list, and the associated
spin lock released, that padata may be processed and the reference
count on pd would go away.

Fix this by getting the next padata before the squeue->serial lock
is released.

In order to make this possible, simplify padata_reorder by only
calling it once the next padata arrives.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 2.6.34 < 6.15.10
LinuxLinux Kernel Version >= 6.16 < 6.16.1
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.055
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-416 Use After Free

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

https://git.kernel.org/stable/c/71203f68c7749609d7fc8ae6ad054bdedeb24f91
Patch
https://git.kernel.org/stable/c/cdf79bd2e1ecb3cc75631c73d8f4149be6019a52
Patch
https://git.kernel.org/stable/c/dbe3e911a59bda6de96e7cae387ff882c2c177fa
Patch
https://git.kernel.org/stable/c/f231d5d001ec75f5886c02d496a4c79edc383d45
https://git.kernel.org/stable/c/a11a12a9880ab37342b73c93cfe1a3ada02ff0db
https://git.kernel.org/stable/c/609e59193fc6d9dd323f1c6ae1fdd721f1c79680
https://git.kernel.org/stable/c/73f132e60857038416540c3599b1de6033d7575a
https://git.kernel.org/stable/c/a2048e475e22b13dc3e53d485b7e6e11464ed9a6