cveboard RSS feed

CVE-2026-98056

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)

nvme: remove stale namespaces by NSID range during scan

In the Linux kernel, the following vulnerability has been resolved: nvme: remove stale namespaces by NSID range during scan nvme_scan_ns_list() drops the stale namespaces in each gap in the reported NSID list one NSID at a time. Every iteration calls nvme_find_get_ns() to look the namespace up and removes it if it is present. The loop runs once per NSID in the gap rather than once per namespace actually present. NSIDs are 32-bit, so a target with a sparse NSID space can make a single gap spin the loop billions of times with nothing to remove. watchdog: BUG: soft lockup - CPU#4 stuck for 26s! Workqueue: nvme-wq nvme_scan_work [nvme_core] RIP: 0010:__srcu_read_unlock+0xb/0x20 Call Trace: nvme_find_get_ns+0x7d/0xb0 [nvme_core] nvme_scan_ns_list+0xe8/0x280 [nvme_core] nvme_scan_work+0x18a/0x280 [nvme_core] process_one_work+0x197/0x380 worker_thread+0x2fe/0x410 kthread+0xe0/0x100 Rename nvme_remove_invalid_namespaces() to nvme_remove_nsid_range() and give it an open (start, end) NSID range. ctrl->namespaces is sorted by NSID, so the whole gap is dropped in a single walk that stops once end is reached. This bounds the work by the namespaces that are present instead of by the size of the gap.

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)
540c801c65eb58e05e0ca38b6fd644a83d7e2b33affectedgite6a94b2c4c80a38002346ce915a9b9a3d478a3e6UnavailableNone listed
540c801c65eb58e05e0ca38b6fd644a83d7e2b33affectedgitc84ad7407fb16b92d9b7a649cc304a9cf3757897UnavailableNone listed
540c801c65eb58e05e0ca38b6fd644a83d7e2b33affectedgitf56b2bb4b18b017b056c4c17c66b2c4c54bf6ee4UnavailableNone listed
540c801c65eb58e05e0ca38b6fd644a83d7e2b33affectedgit52200fc41a79da430ccf7c126ed837535b087ea2UnavailableNone listed
540c801c65eb58e05e0ca38b6fd644a83d7e2b33affectedgit4ed7f3d7d435bf5b63da2814dc9270f5ba896011UnavailableNone 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)
4.5affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver4.5UnavailableNone listed
6.6.160unaffectedsemverUnavailable6.6.*None listed
6.12.111unaffectedsemverUnavailable6.12.*None listed
6.18.53unaffectedsemverUnavailable6.18.*None listed
7.2.7unaffectedsemverUnavailable7.2.*None listed
7.3unaffectedoriginal_commit_for_fixUnavailable*None listed