CVE Catalog

CVE-2026-93096

Unknown
Published: Translated: NVD NIST

Summary

Vulnerability in the cxl/features subsystem in the Linux kernel involves missing serialization of multi-part Get/Set Feature transfers. A payload larger than the mailbox payload size is split into multiple mailbox commands, but mbox_mutex only serializes individual commands and is dropped between iterations. Concurrent calls from fwctl and EDAC paths can interleave parts of transfers, corrupting the device's transfer context. The fix adds a per-mailbox feat_mutex held across the entire transfer.

Risk Assessment

Interleaving of operations can lead to data corruption or incorrect device state, possibly causing failures or integrity issues.

Recommendation

Update the Linux kernel to a version with the fix that serializes multi-part transfers using feat_mutex.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: cxl/features: Serialize multi-part Get/Set Feature transfers A Get or Set Feature payload larger than the mailbox payload size is split into several mailbox commands. mbox_mutex only serializes individual mailbox commands and is dropped between iterations of these loops. Nothing serializes the multi-part transfer as a whole. cxl_get_feature() and cxl_set_feature() are reachable concurrently from fwctl (per-fd RPCs run under a read-held registration lock) and from the EDAC scrub/ECS/repair paths, so two transfers to the same mailbox can interleave their parts and corrupt the device's transfer context. Add a per-mailbox feat_mutex and hold it across the whole transfer in both functions. It nests outside mbox_mutex (which is taken inside cxl_internal_send_cmd()), and is taken nowhere else, so no lock-ordering inversion is introduced.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS