Skip to main content
← All vulnerabilities
CVE-2025-38364

maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.1.146, 6.6.99, 6.12.36, 6.15.5
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() Temporarily clear the preallocation flag when explicitly requesting allocations. Pre-existing allocations are already counted against the request through mas_node_count_gfp(), but the allocations will not happen if the MA_STATE_PREALLOC flag is set. This flag is meant to avoid re-allocating in bulk allocation mode, and to detect issues with preallocation calculations. The MA_STATE_PREALLOC flag should also always be set on zero allocations so that detection of underflow allocations will print a WARN_ON() during consumption. User visible effect of this flaw is a WARN_ON() followed by a null pointer dereference when subsequent requests for larger number of nodes is ignored, such as the vma merge retry in mmap_region() caused by drivers altering the vma flags (which happens in v6.6, at least)

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa · fixed in d69cd64bd5af41c6fd409313504089970edaf02f; From 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa · fixed in e63032e66bca1d06e600033f3369ba3db3af0870; From 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa · fixed in cf95f8426f889949b738f51ffcd72884411f3a6a; From 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa · fixed in 9e32f4700867abbd5d19abfcf698dbd0d2ce36a4; From 54a611b605901c7d5d05b6b8f5d04a6ceb0962aa · fixed in fba46a5d83ca8decb338722fb4899026d8d9ead2

  • Linux Linux

    6.1

  • KernelLinux

    From 6.1.0 · fixed in 6.1.146; From 6.2.0 · fixed in 6.6.99; From 6.7.0 · fixed in 6.12.36; From 6.13.0 · fixed in 6.15.5

References 5

git.kernel.org