{"id":21341,"date":"2026-09-12T04:31:03","date_gmt":"2026-09-11T20:31:03","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-81008"},"modified":"2026-09-12T04:31:03","modified_gmt":"2026-09-11T20:31:03","slug":"cve-2026-81008","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-81008","title":{"rendered":"CVE-2026-81008 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ninterconnect: Fix use"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>interconnect: Fix use after free in icc_get() and of_icc_get_by_index()<\/p>\n<p>In of_icc_get_by_index() and icc_get(), if the dynamic allocation for<br \/>\npath-&gt;name fails via kasprintf(), the error handling path directly<br \/>\ncalls kfree(path) to free the path object and returns an error.<\/p>\n<p>However, prior to this point, path_find() calls path_init(), which<br \/>\nalready links the path&#8217;s requests into the req_list of the respective<br \/>\ninterconnect nodes via hlist_add_head(). Directly invoking kfree(path)<br \/>\nleaves dangling pointers in the hlist. A subsequent call to icc_get()<br \/>\nor icc_set_bw() will traverse or modify these corrupted lists, triggering<br \/>\na slab use afterfree.<\/p>\n<p>KASAN report showing the vulnerability when reproducing via debugfs:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in path_find+0x6f8\/0xcfc<br \/>\n  Write of size 8 at addr fff000000d43f748 by task sh\/1<br \/>\n  &#8230;<br \/>\n  Call trace:<br \/>\n   kasan_report+0xac\/0xfc<br \/>\n   path_find+0x6f8\/0xcfc<br \/>\n   icc_get+0x148\/0x380<br \/>\n   icc_get_set+0xf8\/0x2d0<br \/>\n  &#8230;<br \/>\n  Freed by task 1:<br \/>\n   kfree+0x1a0\/0x4a4<br \/>\n   icc_get+0x2cc\/0x380<br \/>\n   icc_get_set+0xf8\/0x2d0<\/p>\n<p>Fix this by replacing kfree(path) with the proper teardown function,<br \/>\nicc_put(path), which safely removes the requests from the req_list using<br \/>\nhlist_del() and drops the provider usage references before freeing the<br \/>\nmemory.<\/p>\n<p>Additionally, in icc_get(), ensure that the icc_lock mutex is released<br \/>\nprior to calling icc_put(path) to avoid a deadlock, as icc_put()<br \/>\ninternally acquires the same lock.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>interconnect: Fix use after free in icc_get() and of_icc_get_by_index()<\/p>\n<p>In of_icc_get_by_index() and icc_get(), if the dynamic all<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21341","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21341","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=21341"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21341"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}