CVE-2026-31399

HIGH EPSS 2.1%
Published Apr 3, 20263mo ago · Modified Jun 17, 20262w ago
7.8 CVSS 3.1
High
Find Similar
Published Apr 3, 2026 3mo ago
Last Modified Jun 17, 2026 2w ago

Description

In the Linux kernel, the following vulnerability has been resolved: nvdimm/bus: Fix potential use after free in asynchronous initialization Dingisoul with KASAN reports a use after free if device_add() fails in nd_async_device_register(). Commit b6eae0f61db2 ("libnvdimm: Hold reference on parent while scheduling async init") correctly added a reference on the parent device to be held until asynchronous initialization was complete. However, if device_add() results in an allocation failure the ref count of the device drops to 0 prior to the parent pointer being accessed. Thus resulting in use after free. The bug bot AI correctly identified the fix. Save a reference to the parent pointer to be used to drop the parent reference regardless of the outcome of device_add().

CVSS Details

Base Score
7.8
Exploitability
1.8
Impact
5.9
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
2.1% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-416 Use After Free Memory Safety

Affected Products 15

VendorProductVersionRange
linuxlinux_kernel*≥4.4.164  –  <4.5
linuxlinux_kernel*≥4.9.137  –  <4.10
linuxlinux_kernel*≥4.14.81  –  <4.15
linuxlinux_kernel*≥4.18.19  –  <4.19
linuxlinux_kernel*≥4.19.2  –  <5.10.253
linuxlinux_kernel*≥5.11  –  <5.15.203
linuxlinux_kernel*≥5.16  –  <6.1.167
linuxlinux_kernel*≥6.2  –  <6.6.130
linuxlinux_kernel*≥6.7  –  <6.12.78
linuxlinux_kernel*≥6.13  –  <6.18.20
linuxlinux_kernel*≥6.19  –  <6.19.10
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any
linuxlinux_kernel7.0any

References 8

  • git.kernel.org https://git.kernel.org/stable/c/2c638259ad750833fd46a0cf57672a618542d84c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/6fc36c2a925ceaba203eb13d75a8f0879a2c121b
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/84af19855d1abdee3c9d57c0684e2868e391793c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/9a0fb16ba5b372465a3a1ecd761c6fa911a4ab4d
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a226e5b49e5fe8c98b14f8507de670189d191348
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a36cf138500e56f50db9f9a33222df6969b38326
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a8aec14230322ed8f1e8042b6d656c1631d41163
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e48bf8f1d2b12c1c5ba1f609edbd4cde5dadc20e
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/2c638259ad750833fd46a0cf57672a618542d84c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/6fc36c2a925ceaba203eb13d75a8f0879a2c121b
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/84af19855d1abdee3c9d57c0684e2868e391793c
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/9a0fb16ba5b372465a3a1ecd761c6fa911a4ab4d
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a226e5b49e5fe8c98b14f8507de670189d191348
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a36cf138500e56f50db9f9a33222df6969b38326
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a8aec14230322ed8f1e8042b6d656c1631d41163
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/e48bf8f1d2b12c1c5ba1f609edbd4cde5dadc20e
    Patch