dm-pcache: validate geometry fields from on-disk cache_info
- 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.18.50, 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: dm-pcache: validate geometry fields from on-disk cache_info cache_segs_init() iterates cache_info->n_segs times indexing cache->segments[], which is sized to the cache device geometry, and get_seg_id() takes each segment id from the on-media cache_info and the per-segment next_seg link. Both come from cache device metadata that is only CRC-protected with a fixed public seed, so whoever supplies the cache device on a table load (CAP_SYS_ADMIN) controls them: an oversized n_segs or an out-of-range id drives an out-of-bounds access of cache->segments[] and a wild CACHE_DEV_SEGMENT() pointer into the device mapping -- an out-of-bounds read and write from on-disk data. Reject an n_segs that exceeds the device segment count and a segment id that is out of range before either is used. Valid metadata is unaffected.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 · fixed in ab5dcde6fa96bc115b85f3621c60e39c66229a90; From 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 · fixed in 3e19172089ec81132a8a48e802b1034a744209f4; From 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 · fixed in 32d1809da31094ef76fd98dc1f1a8b55ca1295dd
- Linux Linux
6.18
- KernelLinux
From 6.18.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4