CVE-2026-80955
N/A
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
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < 1894fc7a3bab90143dcd26ef8ee27040ef4a7501 | affected |
| Linux | Linux | 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < f39a3e9cc5946473e16d6f5071b2ee0216c56d06 | affected |
| Linux | Linux | 1d57628ff95b32d5cfa8d8f50e07690c161e9cf0 < c2e894eac398b258f12fdec73ed6ba081047f7b3 | affected |
| Linux | Linux | 6.18 | affected |
| Linux | Linux | 0 < 6.18 | unaffected |
| Linux | Linux | 6.18.50 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.4 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/1894fc7a3bab90143dcd26ef8ee27040ef4a7501
- https://git.kernel.org/stable/c/f39a3e9cc5946473e16d6f5071b2ee0216c56d06
- https://git.kernel.org/stable/c/c2e894eac398b258f12fdec73ed6ba081047f7b3
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.