cveboard RSS feed

CVE-2026-93201

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

dm-pcache: validate seg_id fields from persistent memory

In the Linux kernel, the following vulnerability has been resolved: dm-pcache: validate seg_id fields from persistent memory cache_pos_decode(), cache_key_decode() and the last-kset branches of cache_replay(), the writeback worker and the GC worker take a cache segment id from the cache device metadata and index cache->segments[] with it without checking it against cache->n_segs. That metadata is only CRC-protected with a fixed public seed, so whoever supplies the cache device on a table load (CAP_SYS_ADMIN) controls the id; an out-of-range value forms a wild pcache_cache_segment pointer that is dereferenced and written through -- an out-of-bounds read and write driven by on-disk data. Add cache_seg_id_valid() and reject an out-of-range id at each decode site, failing the operation with -EIO instead of indexing past the array. Bound the id against the initialized-segment count (cache_info.n_segs) rather than the physical device total. A forged cache_info.n_segs below seg_num otherwise leaves segments[cache_info.n_segs..seg_num) as zeroed structs whose data pointer is NULL, so a forged id in that window would still be dereferenced. A later patch guarantees cache_info.n_segs <= seg_num, and a driver-created cache sets the two equal, so valid images are unaffected.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
1d57628ff95b32d5cfa8d8f50e07690c161e9cf0affectedgit96d4b275281b45aacd0f0510fa8bec85d9f7dc5aUnavailableNone listed
1d57628ff95b32d5cfa8d8f50e07690c161e9cf0affectedgitb4bf8af5e7d7db4c5e179e15017da55857761ac4UnavailableNone listed
1d57628ff95b32d5cfa8d8f50e07690c161e9cf0affectedgit90c990a68460d7b5720e5634cf650eccdf0f4098UnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
6.18affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver6.18UnavailableNone listed
6.18.57unaffectedsemverUnavailable6.18.*None listed
7.2.6unaffectedsemverUnavailable7.2.*None listed
7.3unaffectedoriginal_commit_for_fixUnavailable*None listed