Skip to main content
← All vulnerabilities
CVE-2026-90411

nvme-fc: unmap cmd_iu DMA on rsp_iu mapping failure in init_request

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: nvme-fc: unmap cmd_iu DMA on rsp_iu mapping failure in init_request __nvme_fc_init_request() maps cmd_iu and then rsp_iu for DMA. If the rsp_iu mapping fails, the original code only recorded the error and fell through: it left the already-mapped cmd_iu unmapped and still marked the op as FCPOP_STATE_IDLE before returning. Since blk-mq does not call .exit_request() when .init_request() fails, the cmd_iu mapping is leaked for every op whose rsp_iu mapping fails. Jump to an error path on rsp_iu mapping failure that unmaps cmd_iu and returns the error without marking the op idle, so it stays in the FCPOP_STATE_UNINIT state set by the initial memset().

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From e399441de9115cd472b8ace6c517708273ca7997 · fixed in c0892cfb60a75e2c86ba8e2127b133f6549c12b3; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in 5e820d04c241c81a47e1940349018690e93d8167; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in bb0251991420c25e3ceeac40ea09250d79ed7ef0; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in acc173608ca7abe5dee8983086b44efd8b0dbc84; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in 18c5781ed8bc2f423c26ec93e47e2057cd76a783; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in bd764baf82bb46e958a0bd0b481630dd71313055; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in be5eb47ee3fea338efae1a5b678d6bb5f0fcc931; From e399441de9115cd472b8ace6c517708273ca7997 · fixed in f49d0c3a8d56a7cda1628ae17341a4a42063563c

  • Linux Linux

    4.10

  • KernelLinux

    From 4.10.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 8

git.kernel.org