{"id":7352,"date":"2026-09-04T18:49:31","date_gmt":"2026-09-04T10:49:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74398"},"modified":"2026-09-04T18:49:31","modified_gmt":"2026-09-04T10:49:31","slug":"cve-2026-74398","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74398","title":{"rendered":"CVE-2026-74398 [CRITICAL] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: addrconf: bail"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: addrconf: bail out of dad_failure when state is no longer POSTDAD<\/p>\n<p>addrconf_dad_failure() transitions ifp-&gt;state from DAD to POSTDAD<br \/>\nvia addrconf_dad_end(), which drops ifp-&gt;lock on return.  The lock<br \/>\nis re-acquired after net_info_ratelimited().  A concurrent<br \/>\nipv6_del_addr() can take the lock in that window, set ifp-&gt;state<br \/>\nto DEAD and run list_del_rcu(&amp;ifp-&gt;if_list).<\/p>\n<p>addrconf_dad_failure() then overwrites DEAD with ERRDAD at errdad:<br \/>\nand schedules a new dad_work.  The work calls ipv6_del_addr()<br \/>\nagain, hitting the already-poisoned list entry:<\/p>\n<p>  general protection fault: 0000 [#1] SMP NOPTI<br \/>\n  CPU: 4 PID: 217 Comm: kworker\/4:1<br \/>\n  Workqueue: ipv6_addrconf addrconf_dad_work<br \/>\n  RIP: 0010:ipv6_del_addr+0xe9\/0x280<br \/>\n  RAX: dead000000000122<br \/>\n  Call Trace:<br \/>\n   addrconf_dad_stop+0x113\/0x140<br \/>\n   addrconf_dad_work+0x28c\/0x430<br \/>\n   process_one_work+0x1eb\/0x3b0<br \/>\n   worker_thread+0x4d\/0x400<br \/>\n   kthread+0x104\/0x140<br \/>\n   ret_from_fork+0x35\/0x40<\/p>\n<p>Fold the addrconf_dad_end() logic into addrconf_dad_failure() under<br \/>\na single ifp-&gt;lock critical section.  The STABLE_PRIVACY branch<br \/>\ntemporarily drops ifp-&gt;lock around address regeneration, so at<br \/>\nlock_errdad: verify the state is still POSTDAD before transitioning<br \/>\nto ERRDAD; bail out otherwise to avoid overwriting a state set by<br \/>\nanother path while the lock was released.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: addrconf: bail out of dad_failure when state is no longer POSTDAD<\/p>\n<p>addrconf_dad_failure() transitions ifp-&gt;state from DAD to <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7352","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7352","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=7352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}