{"id":41068,"date":"2026-10-19T00:32:00","date_gmt":"2026-10-18T16:32:00","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98596"},"modified":"2026-10-19T00:32:00","modified_gmt":"2026-10-18T16:32:00","slug":"cve-2026-98596","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98596","title":{"rendered":"CVE-2026-98596 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: Fix dst leak fo"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: Fix dst leak for uncached routes.<\/p>\n<p>ip6_route_output_flags(), ip6_rt_put_flags(), and ip6_dst_check()<br \/>\ndetect an uncached route by list_empty(&amp;rt-&gt;dst.rt_uncached),<br \/>\nwhich replaced the static DST_NOCACHE flag check in commit<br \/>\na4c2fd7f7891 (&#8220;net: remove DST_NOCACHE flag&#8221;).<\/p>\n<p>When a device is unregistered, rt6_uncached_list_flush_dev()<br \/>\nunlinks uncached routes tied to the device from rt6_uncached_list.<\/p>\n<p>Previously, they were moved to another list with list_move()<br \/>\n(__list_del_entry() + list_add()), and since commit 98aa546af5e4<br \/>\n(&#8220;inet: remove (struct uncached_list)-&gt;quarantine&#8221;), the routes<br \/>\nare just unlinked with list_del_init().<\/p>\n<p>If list_del_init() runs concurrently, list_empty() evaluates to<br \/>\ntrue; ip6_route_output_flags() calls dst_hold_safe() incorrectly<br \/>\nand ip6_rt_put_flags() skips ip6_rt_put(), leaking dst, and thus<br \/>\ndev tied via rt-&gt;from as well.<\/p>\n<p>The same race is partially fixed by commit 9a6f0c4d5796 (&#8220;dst:<br \/>\nfix races in rt6_uncached_list_del() and rt_del_uncached_list()&#8221;).<\/p>\n<p>Let&#8217;s check rt6-&gt;dst.rt_uncached_list instead.<\/p>\n<p>Note that IPv4 does not have the same issue.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: Fix dst leak for uncached routes.<\/p>\n<p>ip6_route_output_flags(), ip6_rt_put_flags(), and ip6_dst_check()<br \/>\ndetect an uncached route<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41068","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41068","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=41068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}