CVE-2026-80955

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < 1894fc7a3bab90143dcd26ef8ee27040ef4a7501affected
LinuxLinux1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < f39a3e9cc5946473e16d6f5071b2ee0216c56d06affected
LinuxLinux1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < c2e894eac398b258f12fdec73ed6ba081047f7b3affected
LinuxLinux6.18affected
LinuxLinux0 < 6.18unaffected
LinuxLinux6.18.50 <= 6.18.*unaffected
LinuxLinux7.2.4 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References