CVE-2025-38008

Medium

Description

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.

SeverityMedium
CVSS4.7
Exploit probability3. percentile0.1%
ProductLinux Kernel
PublishedJun 18, 2025
First seenJun 18, 2025

How to fix

Update
  • linux linux_kernel6.6.92, 6.12.30, 6.14.8 or later

Affected products

ProductAffected versionsFixed in
linux linux_kernel6.5 ≤ v < 6.6.92, 6.7 ≤ v < 6.12.30, 6.13 ≤ v < 6.14.8, 6.156.6.92, 6.12.30, 6.14.8

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.