CVE-2025-38008 mm/page_alloc: fix race condition in unaccepted memory handling

Medium 4.7 Published Updated

A race condition in the Linux kernel's page allocator can trigger a warning and potential instability, requiring a patch to remove the flawed optimization.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2025-38008?

CVE-2025-38008 is a medium-severity vulnerability in Linux kernel, published on 18 Jun 2025. It can only be exploited from the same machine or local network, with no action from the victim.

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

Weakness: CWE-362

Which versions are affected by CVE-2025-38008?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2025-38008?

Apply the vendor's patch.

Is CVE-2025-38008 being exploited?

There is no known exploitation of CVE-2025-38008 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2025-38008, DEBIAN-CVE-2025-38008, GHSA-qqq6-9fj8-x34c, ROOT-OS-UBUNTU-2404-CVE-2025-38008, UBUNTU-CVE-2025-38008.

Is CVE-2025-38008 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free