ring-buffer: Make cpu_buffer::free_page a buffer_data_read_page
- 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.12.112, 6.18.51, 7.2.4
- 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: ring-buffer: Make cpu_buffer::free_page a buffer_data_read_page Discarding a cached reader page after a concurrent ring buffer resize uses the new global subbuf_order for the free_pages() call. This mismatched order may crashes the kernel or leaks memory because the cached page was allocated under the old size. Save the actual free_page order alongside the page address to ensure we always refer to the correct value and do not rely on the potentially stalled cpu_buffer->subbuf_order value. The simplest is to make free_page a buffer_data_read_page which already covers exactly what we need: a page address and a page order.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 8e7b58c27b3c567316a51079b375b846f9223bba · fixed in d8f52dc3c3f1f987d8cf920ccd8d66590870bf3f; From 8e7b58c27b3c567316a51079b375b846f9223bba · fixed in a1dabe68fb53730bc0be60c5dbfd3f4c560084e7; From 8e7b58c27b3c567316a51079b375b846f9223bba · fixed in d787d509bdf6c88c85e095247daf7456cb7fb772; From 8e7b58c27b3c567316a51079b375b846f9223bba · fixed in 7a1fb95de5404134f8758c1295ce88986bdf117c
- Linux Linux
6.8
- KernelLinux
From 6.8.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.4