CVE-2025-38584

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

26 Nov 2025, 17:57

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
References () https://git.kernel.org/stable/c/71203f68c7749609d7fc8ae6ad054bdedeb24f91 - () https://git.kernel.org/stable/c/71203f68c7749609d7fc8ae6ad054bdedeb24f91 - Patch
References () https://git.kernel.org/stable/c/cdf79bd2e1ecb3cc75631c73d8f4149be6019a52 - () https://git.kernel.org/stable/c/cdf79bd2e1ecb3cc75631c73d8f4149be6019a52 - Patch
References () https://git.kernel.org/stable/c/dbe3e911a59bda6de96e7cae387ff882c2c177fa - () https://git.kernel.org/stable/c/dbe3e911a59bda6de96e7cae387ff882c2c177fa - Patch
CWE CWE-416
First Time Linux
Linux linux Kernel
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

20 Aug 2025, 14:40

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: padata: Arregla pd UAF de una vez por todas Hay una condición de ejecución/UAF en padata_reorder que se remonta a la confirmación inicial. Se toma un recuento de referencias al inicio del proceso en padata_do_parallel y se libera al final en padata_serial_worker. Este recuento de referencias es (y solo es) necesario para que padata_replace funcione correctamente. Si nunca se llama a padata_replace, no hay problema. En la función padata_reorder que sirve como núcleo de padata, tan pronto como padata se agrega a queue->serial.list y se libera el bloqueo de giro asociado, ese padata puede procesarse y el recuento de referencias en pd desaparecería. Arregla esto obteniendo el siguiente padata antes de que se libere el bloqueo squeue->serial. Para que esto sea posible, simplifica padata_reorder llamándolo solo una vez que llega el siguiente padata.

19 Aug 2025, 17:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-08-19 17:15

Updated : 2025-11-26 17:57


NVD link : CVE-2025-38584

Mitre link : CVE-2025-38584

CVE.ORG link : CVE-2025-38584


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free