CVE-2025-38008

In the Linux kernel, the following vulnerability has been resolved: mm/page_alloc: fix race condition in unaccepted memory handling The page allocator tracks the number of zones that have unaccepted memory using static_branch_enc/dec() and uses that static branch in hot paths to determine if it needs to deal with unaccepted memory. Borislav and Thomas pointed out that the tracking is racy: operations on static_branch are not serialized against adding/removing unaccepted pages to/from the zone. Sanity checks inside static_branch machinery detects it: WARNING: CPU: 0 PID: 10 at kernel/jump_label.c:276 __static_key_slow_dec_cpuslocked+0x8e/0xa0 The comment around the WARN() explains the problem: /* * Warn about the '-1' case though; since that means a * decrement is concurrent with a first (0->1) increment. IOW * people are trying to disable something that wasn't yet fully * enabled. This suggests an ordering problem on the user side. */ The effect of this static_branch optimization is only visible on microbenchmark. Instead of adding more complexity around it, remove it altogether.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc6:*:*:*:*:*:*

History

17 Nov 2025, 12:56

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 4.7
First Time Linux
Linux linux Kernel
CWE CWE-362
References () https://git.kernel.org/stable/c/71dda1cb10702dc2859f00eb789b0502de2176a9 - () https://git.kernel.org/stable/c/71dda1cb10702dc2859f00eb789b0502de2176a9 - Patch
References () https://git.kernel.org/stable/c/74953f93f47a45296cc2a3fd04e2a3202ff3fa53 - () https://git.kernel.org/stable/c/74953f93f47a45296cc2a3fd04e2a3202ff3fa53 - Patch
References () https://git.kernel.org/stable/c/98fdd2f612e949c652693f6df00442c81037776d - () https://git.kernel.org/stable/c/98fdd2f612e949c652693f6df00442c81037776d - Patch
References () https://git.kernel.org/stable/c/fefc075182275057ce607effaa3daa9e6e3bdc73 - () https://git.kernel.org/stable/c/fefc075182275057ce607effaa3daa9e6e3bdc73 - Patch
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm/page_alloc: arregla la condición de ejecución en el manejo de memoria no aceptada El asignador de páginas rastrea el número de zonas que tienen memoria no aceptada usando static_branch_enc/dec() y usa esa rama estática en rutas activas para determinar si necesita lidiar con memoria no aceptada. Borislav y Thomas señalaron que el rastreo es acelerado: las operaciones en static_branch no se serializan contra la adición/eliminación de páginas no aceptadas a/desde la zona. Las comprobaciones de cordura dentro de la maquinaria static_branch lo detectan: ADVERTENCIA: CPU: 0 PID: 10 en kernel/jump_label.c:276 __static_key_slow_dec_cpuslocked+0x8e/0xa0 El comentario alrededor de WARN() explica el problema: /* * Sin embargo, advierte sobre el caso '-1'; ya que eso significa que un * decremento es concurrente con un primer incremento (0->1). Es decir, * se está intentando deshabilitar algo que aún no estaba completamente habilitado. Esto sugiere un problema de ordenamiento del usuario. */ El efecto de esta optimización de static_branch solo es visible en microbenchmark. En lugar de añadir más complejidad, elimínenla por completo.
CPE cpe:2.3:o:linux:linux_kernel:6.15:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.15:rc2:*:*:*:*:*:*

18 Jun 2025, 10:15

Type Values Removed Values Added
New CVE

Information

Published : 2025-06-18 10:15

Updated : 2025-11-17 12:56


NVD link : CVE-2025-38008

Mitre link : CVE-2025-38008

CVE.ORG link : CVE-2025-38008


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-362

Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')