{"id":40913,"date":"2026-10-19T00:31:32","date_gmt":"2026-10-18T16:31:32","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98441"},"modified":"2026-10-19T00:31:32","modified_gmt":"2026-10-18T16:31:32","slug":"cve-2026-98441","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98441","title":{"rendered":"CVE-2026-98441 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet\/sched: act_ct: av"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net\/sched: act_ct: avoid modifying shared unconfirmed ct entry<\/p>\n<p>In a case where skb with an unconfirmed ct entry gets cloned, we may<br \/>\nend up processing both again but with different sets of extensions.<\/p>\n<p>The series of events:<\/p>\n<p> 1. The first clone wants to commit and runs the helpers wiring up<br \/>\n    the extension pointer into the expectation list.<br \/>\n 2. Then it looses the confirmation keeping the entry unconfirmed.<br \/>\n 3. Second clone now wants to commit labels or run NAT and adds the<br \/>\n    new extension for that breaking the pointer in the expectation<br \/>\n    list causing UAF on the destruction path later.<\/p>\n<p>While this is possible to trigger, there should be no practical<br \/>\nnetwork pipeline where we need to process both clones without<br \/>\nmodifications in the same zone.  So, let&#8217;s just reset the entry in<br \/>\ncase for some reason we got an skb with a shared one.  This doesn&#8217;t<br \/>\naffect any known use cases, but avoids any potential problems with<br \/>\nsharing and modification of the unconfirmed ct entry.<\/p>\n<p>Unlike openvswitch module, act_ct allows for NAT without commit.<br \/>\nChanging that would be a uAPI break.  So, act_ct needs to reset on NAT<br \/>\nregardless of the commit flag to avoid reallocation of the extension<br \/>\nspace.  This, however, doesn&#8217;t really change the picture for sensible<br \/>\nnetworking cases as there should be no need to run the same packet<br \/>\ntwice (before and after the clone) through conntrack without packet<br \/>\nheader or zone changes and without commit.<\/p>\n<p>The fixes tag points to the introduction of helpers, since that&#8217;s the<br \/>\nmain UAF trigger for the sharing.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net\/sched: act_ct: avoid modifying shared unconfirmed ct entry<\/p>\n<p>In a case where skb with an unconfirmed ct entry gets cloned, we ma<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-40913","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/40913","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=40913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}