CVE-2026-53162

memcg: use round-robin victim selection in refill_stock

State
Published
Severity
7.8 High
Published
Jun 25, 2026
Updated
Aug 5, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

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

memcg: use round-robin victim selection in refill_stock

Harry Yoo reported that get_random_u32_below() is not safe to call in the nmi context and memcg charge draining can happen in nmi context.

More specifically get_random_u32_below() is neither reentrant- nor NMI-safe: it acquires a per-cpu local_lock via local_lock_irqsave() on the batched_entropy_u32 state. An NMI that lands on a CPU mid-update of the ChaCha batch state and recurses into the random subsystem would corrupt that state. The memcg_stock local_trylock prevents re-entry on the percpu stock itself, but cannot protect an unrelated subsystem's per-cpu lock.

Replace the random pick with a per-cpu round-robin counter stored in memcg_stock_pcp and serialized by the same local_trylock that already guards cached[] and nr_pages[]. No atomics, no random calls, no extra locks needed.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • f735eebe55f8f61758fe014bd0b02ab50b059e4d to before 89bd8215e25aa6999cc51696da418e0d422bc5e0Affected
  • f735eebe55f8f61758fe014bd0b02ab50b059e4d to before 00731bd7e18f182a32ca54d6b176eaa470b51ed7Affected
  • f735eebe55f8f61758fe014bd0b02ab50b059e4d to before c0cafe24d3f6534294c4b2bc2d47734ff7cbd313Affected
LinuxLinux
  • 6.16Affected
  • before 6.16Not affected
  • 6.18.36 through 6.18.*Not affected
  • 7.0.13 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.