CVE-2026-80961

CVE-2026-80961

High · published September 12, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
6.4
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

dm-pcache: validate kset key_num and intra-segment bounds

Two more fields decoded from the cache device go unbounded. The kset

key_num drives cache_kset_crc() and the replay loop in cache_replay(),

the writeback worker and the GC worker, but only the magic and a

fixed-seed CRC are checked first, so a non-last kset whose key_num exceeds

the PCACHE_KSET_KEYS_MAX buffer reads past its end before the CRC compare.

A key's intra-segment offset and length in cache_key_decode() are taken

verbatim, so a key running past its segment is replayed into the cache

tree and the data CRC check and every later read hit then copy adjacent

persistent memory into the caller's bio -- an out-of-bounds read that

leaks to user space. Both fields are controlled by whoever supplies the

cache device (CAP_SYS_ADMIN); the CRC seed is public.

Add kset_onmedia_valid() to bound key_num before any kset read, and

reject a key whose offset plus length, computed in 64 bits, exceeds the

segment data_size. Valid metadata is unaffected.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00173 · 6.4th percentile
Published
2026-09-12T00:19Z
References (3)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:42Z
    dm-pcache: validate kset key_num and intra-segment bounds
    cvelistv5