CVE-2026-80955

dm-pcache: fix use-after-free and invalid seg operations in kset_replay()

Published Sep 11, 2026 CVSS 3.1 · 7.8 High EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

This vulnerability is a use‑after‑free and invalid segment operation in the dm‑pcache key replay path of the Linux kernel. When a key’s generation is stale, a freed memory block is accessed, creating a use‑after‑free condition that can corrupt kernel memory. The flaw, identified as CWE‑825, could lead to a system crash or unintended kernel data manipulation. No explicit capability for privilege escalation or arbitrary code execution is documented in the given description.

Affected Systems

All Linux kernel builds that include the dm‑pcache subsystem and have not yet applied the recent patch are affected. The issue exists in kernel releases that use the pre‑patch implementation of kset_replay().

Risk and Exploitability

The CVSS score of 7.8 indicates moderate‑to‑high impact. EPSS is < 1% and the vulnerability is not listed in CISA KEV. The likely attack vector requires local or privileged access to trigger the cache replay logic, limiting immediate exploitation risk. Successful exploitation would cause kernel memory corruption, potentially leading to system instability.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the dm‑pcache use‑after‑free fix (e.g., update to a kernel version containing commit 1894fc7a3bab90143dcd26ef8ee27040ef4a7501).
  • Reboot the system so that the updated kernel is loaded into memory.
  • If updating immediately is not possible, temporarily disable the dm‑pcache module with 'modprobe -r dm_pcache' or prevent it from loading via kernel boot parameters.

Generated by OpenCVE AI on September 21, 2026 at 02:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:L/A:H'}

threat_severity

Moderate

Type Values Removed Values Added
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.
Title dm-pcache: fix use-after-free and invalid seg operations in kset_replay()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses
  • CWE-825

    Expired Pointer Dereference

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Oct 19, 2026, 8:45 AM
Reserved
Aug 26, 2026, 2:34 PM
Status
Received
Published
Sep 11, 2026, 8:19 PM
Modified
Oct 19, 2026, 9:17 AM
Severity
Moderate
Public date
Sep 11, 2026, 7:42 PM