CVE-2026-31399

nvdimm/bus: Fix potential use after free in asynchronous initialization

State
Published
Severity
Not scored
Published
Apr 3, 2026
Updated
May 23, 2026
Reserved
Mar 9, 2026

Read the record on cve.org

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().

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before 6fc36c2a925ceaba203eb13d75a8f0879a2c121bAffected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before a36cf138500e56f50db9f9a33222df6969b38326Affected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before 9a0fb16ba5b372465a3a1ecd761c6fa911a4ab4dAffected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before e48bf8f1d2b12c1c5ba1f609edbd4cde5dadc20eAffected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before 2c638259ad750833fd46a0cf57672a618542d84cAffected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before a226e5b49e5fe8c98b14f8507de670189d191348Affected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before 84af19855d1abdee3c9d57c0684e2868e391793cAffected
  • b6eae0f61db27748606cc00dafcfd1e2c032f0a5 to before a8aec14230322ed8f1e8042b6d656c1631d41163Affected
  • 8954771abdea5c34280870e35592c7226a816d95Affected
  • 3e63a7f25cc85d3d3e174b9b0e3489ebb7eaf4abAffected
  • 1490de2bb0836fc0631c04d0559fdf81545b672fAffected
  • e31a8418c8df7e6771414f99ed3d95ba8aca4e05Affected
  • 4f1a55a4f990016406147cf3e0c9487bf83e50f0Affected
  • 4.4.164 to before 4.5Affected
  • 4.9.137 to before 4.10Affected
  • 4.14.81 to before 4.15Affected
  • 4.18.19 to before 4.19Affected
  • 4.19.2 to before 4.20Affected
LinuxLinux
  • 4.20Affected
  • before 4.20Not affected
  • 5.10.253 through 5.10.*Not affected
  • 5.15.203 through 5.15.*Not affected
  • 6.1.167 through 6.1.*Not affected
  • 6.6.130 through 6.6.*Not affected
  • 6.12.78 through 6.12.*Not affected
  • 6.18.20 through 6.18.*Not affected
  • 6.19.10 through 6.19.*Not affected
  • 7.0 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.