{"id":7222,"date":"2026-09-04T18:49:28","date_gmt":"2026-09-04T10:49:28","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74285"},"modified":"2026-09-04T18:49:28","modified_gmt":"2026-09-04T10:49:28","slug":"cve-2026-74285","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74285","title":{"rendered":"CVE-2026-74285 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet: Stop leased rxq"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: Stop leased rxq before uninstalling its memory provider<\/p>\n<p>netif_rxq_cleanup_unlease() tears down the memory provider that was<br \/>\ninstalled on a physical RX queue through a netkit queue lease. It<br \/>\ncurrently revokes the provider&#8217;s DMA mappings before stopping the<br \/>\nphysical queue:<\/p>\n<p>  __netif_mp_uninstall_rxq(virt_rxq, p);            \/* DMA unmap *\/<br \/>\n  __netif_mp_close_rxq(phys_rxq-&gt;dev, rxq_idx, p);  \/* queue stop *\/<\/p>\n<p>This inverts the ordering used by the regular teardown paths (normal<br \/>\ndevice unregister and the io_uring zcrx close path), which stop the<br \/>\nqueue before revoking the provider&#8217;s mappings.<\/p>\n<p>With the physical queue still live, its NAPI can keep consuming<br \/>\nnet_iov entries from the page_pool alloc cache after the<br \/>\n__netif_mp_uninstall_rxq() has already cleared their dma_addr,<br \/>\nopening a window for the device to DMA to a stale or zero address.<\/p>\n<p>Fix it by swapping the two calls so the queue is stopped (and its<br \/>\nNAPI quiesced) before the provider is uninstalled. No functional<br \/>\nregression was observed across repeated runs of the nk_qlease.py<br \/>\nHW selftest, which exercises the lease teardown path; this was<br \/>\ntested against fbnic QEMU emulation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: Stop leased rxq before uninstalling its memory provider<\/p>\n<p>netif_rxq_cleanup_unlease() tears down the memory provider that was<br \/>\ni<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7222","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}