CVE-2026-89743
nicheOut-of-bounds read in Linux kernel NSM (Nitro Secure Module) driver
The Linux kernel's nsm driver, which services the Nitro Secure Module virtio device used for attestation inside AWS Nitro Enclaves, stores the response length reported by the device in nsm_sendrecv_msg_locked() without clamping it to the size of the posted response buffer. A malicious or buggy backend — i.e., the host side of the virtqueue — can therefore report an oversized used-ring length, and parse_resp_raw() will copy that many bytes from the fixed kernel heap buffer to userspace, an out-of-bounds read that discloses adjacent kernel heap memory and can crash the guest kernel (CVSS 7.7, AV:L/AC:L/PR:N/UI:N, C:H/A:H). The flaw is triggered when guest software performs an NSM request, such as requesting an attestation document, against a hostile backend; well-behaved devices that respect the posted buffer size are unaffected. Affected systems are guest kernels containing the nsm driver, principally Linux images running inside AWS Nitro Enclaves. No public PoC exists, the issue is not on the CISA KEV, and no exploitation in the wild is known.
What to do: Upgrade guest/enclave kernels to a build containing the fix (it clamps the device-reported length to the response buffer size) and rebuild and redeploy Nitro Enclave images (EIFs) on the patched kernel. Because the attacker in this scenario is the host, treat the flaw as a weakening of the enclave's isolation guarantees and monitor enclave guests for kernel oops reports or anomalous attestation failures. Confirm with your distribution that the nsm backport is present if you ship the driver in a stable kernel.
| Linux (kernel.org) Linux kernel, misc/nsm Nitro Secure Module driver | All kernels containing the nsm driver, from its mainline introduction (v6.6) up to releases lacking the fix that clamps msg->resp.len to the response buffer siz |
| Amazon Web Services Nitro Enclaves guest images (EIFs) built on affected kernels | Any enclave image whose bundled Linux kernel lacks the response-length bound |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: misc: nsm: bound the device-reported response length nsm_sendrecv_msg_locked() stores the virtqueue used-ring length reported by the NSM device into msg->resp.len without bounding it to the response buffer. A malicious or buggy backend can report a length larger than the response buffer; parse_resp_raw() then copies that many bytes out of the fixed buffer to user space, disclosing adjacent kernel heap (an out-of-bounds read). The request path already floors its length in fill_req_raw(); the response path lacks the symmetric check. Clamp the stored length to the size of the response buffer. Well-behaved devices report no more than the posted buffer size, so conforming traffic is unaffected.
- Vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
In the news0 stories
No ingested article mentions this CVE yet.