{"id":11936,"date":"2026-09-04T18:53:58","date_gmt":"2026-09-04T10:53:58","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80521"},"modified":"2026-09-04T18:53:58","modified_gmt":"2026-09-04T10:53:58","slug":"cve-2026-80521","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80521","title":{"rendered":"CVE-2026-80521 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\naf_unix: Unlink scc_e"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>af_unix: Unlink scc_entry in unix_del_edge().<\/p>\n<p>Kyle Zeng reported that GC could free a dead SCC partially.<\/p>\n<p>The scenario is as follows:<\/p>\n<p>   1) Create two SCCs:<\/p>\n<p>       X -.   A  B<br \/>\n       ^&#8211;&#8216;<\/p>\n<p>   2) Run the following concurrently:<\/p>\n<p>      2-1) send() sk-B to sk-B from sk-X<br \/>\n      2-2) close() both A and B<\/p>\n<p>At 2-1), there is a small window where unix_add_edges()<br \/>\npublishes a new edge (B  B) to GC but its skb is not queued<br \/>\nby skb_queue_tail().<\/p>\n<p>If 2-2) completes before skb_queue_tail() and GC is triggered,<br \/>\nit judges A  B as dead, but B is not freed because GC cannot<br \/>\ncollect the not-yet-queued skb holding the B  B edge.<\/p>\n<p>       X -.   A  B -. This edge is visible<br \/>\n       ^&#8211;&#8216;         ^..&#8217;  but skb is not<\/p>\n<p>This itself is not a problem since the next GC run will judge<br \/>\nB as dead as well and free it finally.<\/p>\n<p>       X -.   A  B -.<br \/>\n       ^&#8211;&#8216;         ^&#8211;&#8216;<\/p>\n<p>However, X&#8217;s SCC forces the next GC to call unix_walk_scc_fast(),<br \/>\nand it iterates over A through B&#8217;s scc_entry.<\/p>\n<p>Let&#8217;s unlink scc_entry before freeing the vertex in unix_del_edge().<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>af_unix: Unlink scc_entry in unix_del_edge().<\/p>\n<p>Kyle Zeng reported that GC could free a dead SCC partially.<\/p>\n<p>The scenario is as foll<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11936","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11936","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=11936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}