mm/slub: avoid accessing metadata when pointer is invalid in object_err()
- 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 5.4.299, 5.10.243, 5.15.192, 6.1.151, 6.6.105, and 2 more
- 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
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
In the Linux kernel, the following vulnerability has been resolved: mm/slub: avoid accessing metadata when pointer is invalid in object_err() object_err() reports details of an object for further debugging, such as the freelist pointer, redzone, etc. However, if the pointer is invalid, attempting to access object metadata can lead to a crash since it does not point to a valid object. One known path to the crash is when alloc_consistency_checks() determines the pointer to the allocated object is invalid because of a freelist corruption, and calls object_err() to report it. The debug code should report and handle the corruption gracefully and not crash in the process. In case the pointer is NULL or check_valid_pointer() returns false for the pointer, only print the pointer value and skip accessing metadata.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in 872f2c34ff232af1e65ad2df86d61163c8ffad42; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in f66012909e7bf383fcdc5850709ed5716073fdc4; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in 7e287256904ee796c9477e3ec92b07f236481ef3; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in 1f0797f17927b5cad0fb7eced422f9a7c30a3191; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in 0ef7058b4dc6fcef622ac23b45225db57f17b83f; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in dda6ec365ab04067adae40ef17015db447e90736; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in 3baa1da473e6e50281324ff1d332d1a07a3bb02e; From 81819f0fc8285a2a5a921c019e3e3d7b6169d225 · fixed in b4efccec8d06ceb10a7d34d7b1c449c569d53770
- Linux Linux
2.6.22
- KernelLinux
From 2.6.22 · fixed in 5.4.299; From 5.5.0 · fixed in 5.10.243; From 5.11.0 · fixed in 5.15.192; From 5.16.0 · fixed in 6.1.151; From 6.2.0 · fixed in 6.6.105; From 6.7.0 · fixed in 6.12.46; From 6.13.0 · fixed in 6.16.6
References 8
git.kernel.org
- stable/c/872f2c34ff232af1e65ad2df86d61163c8ffad42
- stable/c/f66012909e7bf383fcdc5850709ed5716073fdc4
- stable/c/7e287256904ee796c9477e3ec92b07f236481ef3
- stable/c/1f0797f17927b5cad0fb7eced422f9a7c30a3191
- stable/c/0ef7058b4dc6fcef622ac23b45225db57f17b83f
- stable/c/dda6ec365ab04067adae40ef17015db447e90736
- stable/c/3baa1da473e6e50281324ff1d332d1a07a3bb02e
- stable/c/b4efccec8d06ceb10a7d34d7b1c449c569d53770