What happened
In the Linux kernel, the following vulnerability has been resolved: dm-pcache: fix use-after-free and invalid seg operations in kset_replay() In kset_replay, when key->seg_gen is stale (key->seg_gen < key->cache_pos.cache_seg->gen), cache_key_put(key) is called but then key->cache_pos.cache_seg is accessed as the argument to cache_seg_get(). This is a use-after-free on the freed key memory. Although mempool recycled memory is not immediately reclaimed or overwritten in practice, this is still a potential UAF bug. Additionally, for expired invalid keys, setting the cache->seg_map bit and calling cache_seg_get() is unreasonable since the corresponding segment data is no longer valid. Fix both issues by moving cache_seg_get() and __set_bit() after the gen check, so they only execute for valid keys, and using continue to skip invalid keys.
Affected versions
Linux: 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 through before 1894fc7a3bab90143dcd26ef8ee27040ef4a7501 (git); 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 through before f39a3e9cc5946473e16d6f5071b2ee0216c56d06 (git); 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 through before c2e894eac398b258f12fdec73ed6ba081047f7b3 (git); 6.18 Fixed: See vendor advisory.
Why it matters
Review the vendor advisory and exposure of the affected product to determine operational impact.
Detection & mitigation
- Apply vendor-provided updates or mitigations.
- Review affected product exposure and access logs.
Public PoC references
No public PoC reference has passed the current publication threshold.