CVE-2026-98727: nvme-multipath: set BLK_FEAT_ZONED only after the zone info is known
In the Linux kernel, the following vulnerability has been resolved:
nvme-multipath: set BLKFEATZONED only after the zone info is known
The namespace head is marked zoned at allocation time based only on the command set identifier. If the zone info query reports a zero zone size, the path namespace is registered without zoned limits while the head still advertises the zoned capability with a zone size of zero, and reporting zones or writing to the head then shifts by ilog2(0).
Drop the zoned feature from the head allocation and let the head limits refresh stack it in from the path namespace instead.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Do not set BLK_FEAT_ZONED when allocating the namespace head based only on the command set identifier; let the head limits refresh from the path namespace after zone information is available.
Linux kernel nvme-multipath BLK_FEAT_ZONED = set only after the zone info is known
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel NVMe multipath subsystem with a namespace identified as zoned are exposed when the zone information query reports a zero zone size. The inconsistent state affects the namespace head while its path namespace is registered without zoned limits.
What condition triggers the failure?
The failure requires a namespace head to advertise zoned capability with a zone size of zero. Reporting zones or writing to that head can then cause a shift operation based on ilog2(0).
How can I tell whether a system is affected?
An affected configuration has an NVMe multipath namespace whose command set causes the head to be marked zoned, but whose zone information query returns a zero zone size. In that state, the path namespace lacks zoned limits while the head still advertises zoned capability.