In the Linux kernel, the following vulnerability has been resolved: dm-pcache: fix use-after...
🔗 CVE IDs covered (1)
📋 Description
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.
🔗 References (5)
- https://nvd.nist.gov/vuln/detail/CVE-2026-80955
- https://git.kernel.org/stable/c/1894fc7a3bab90143dcd26ef8ee27040ef4a7501
- https://git.kernel.org/stable/c/c2e894eac398b258f12fdec73ed6ba081047f7b3
- https://git.kernel.org/stable/c/f39a3e9cc5946473e16d6f5071b2ee0216c56d06
- https://github.com/advisories/GHSA-vjx8-9mvv-9939