{"id":15993,"date":"2026-09-04T19:04:39","date_gmt":"2026-09-04T11:04:39","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-46289"},"modified":"2026-09-04T19:04:39","modified_gmt":"2026-09-04T11:04:39","slug":"cve-2026-46289","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-46289","title":{"rendered":"CVE-2026-46289 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nlib\/scatterlist: fix"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>lib\/scatterlist: fix length calculations in extract_kvec_to_sg<\/p>\n<p>Patch series &#8220;Fix bugs in extract_iter_to_sg()&#8221;, v3.<\/p>\n<p>Fix bugs in the kvec and user variants of extract_iter_to_sg.  This series<br \/>\nis growing due to useful remarks made by sashiko.dev.<\/p>\n<p>The main bugs are:<br \/>\n&#8211; The length for an sglist entry when extracting from<br \/>\n  a kvec can exceed the number of bytes in the page. This<br \/>\n  is obviously not intended.<br \/>\n&#8211; When extracting a user buffer the sglist is temporarily<br \/>\n  used as a scratch buffer for extracted page pointers.<br \/>\n  If the sglist already contains some elements this scratch<br \/>\n  buffer could overlap with existing entries in the sglist.<\/p>\n<p>The series adds test cases to the kunit_iov_iter test that demonstrate all<br \/>\nof these bugs.  Additionally, there is a memory leak fix for the test<br \/>\nitself.<\/p>\n<p>The bugs were orignally introduced into kernel v6.3 where the function<br \/>\nlived in fs\/netfs\/iterator.c.  It was later moved to lib\/scatterlist.c in<br \/>\nv6.5.  Thus the actual fix is only marked for backports to v6.5+.<\/p>\n<p>This patch (of 5):<\/p>\n<p>When extracting from a kvec to a scatterlist, do not cross page<br \/>\nboundaries.  The required length was already calculated but not used as<br \/>\nintended.<\/p>\n<p>Adjust the copied length if the loop runs out of sglist entries without<br \/>\nextracting everything.<\/p>\n<p>While there, return immediately from extract_iter_to_sg if there are no<br \/>\nsglist entries at all.<\/p>\n<p>A subsequent commit will add kunit test cases that demonstrate that the<br \/>\npatch is necessary.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>lib\/scatterlist: fix length calculations in extract_kvec_to_sg<\/p>\n<p>Patch series &#8220;Fix bugs in extract_iter_to_sg()&#8221;, v3.<\/p>\n<p>Fix bugs in t<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15993","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15993","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=15993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}