maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.146, 6.6.99, 6.12.36, 6.15.5
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 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
- CVE published
- 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