{"id":25646,"date":"2026-09-18T04:31:41","date_gmt":"2026-09-17T20:31:41","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90237"},"modified":"2026-09-18T04:31:41","modified_gmt":"2026-09-17T20:31:41","slug":"cve-2026-90237","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90237","title":{"rendered":"CVE-2026-90237 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nft_ct: mo"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfilter: nft_ct: move custom expectation support to helper<\/p>\n<p>Originally, the ct expectation support called nf_ct_helper_ext_add() for<br \/>\nconfirmed conntracks, which is invalid, triggering a splat. This was<br \/>\nfixed by commit 1710eb913bdc (&#8220;netfilter: nft_ct: skip expectations for<br \/>\nconfirmed conntrack&#8221;) which restricted it to unconfirmed conntracks.<\/p>\n<p>However, early insertion of expectations into the expectations list when<br \/>\nthe conntrack is unconfirmed leads to stale entries pointing to the<br \/>\nwrong hlist_head through .pprev due to ct extension reallocation.<\/p>\n<p>Commit 7c9664351980 (&#8220;netfilter: move nat hlist_head to nf_conn&#8221;) moved<br \/>\nthe nat hlist_head to nf_conn for this reason:<\/p>\n<p>     1. &#8230;<br \/>\n     2. When reallocation of extension area occurs we need to fixup the<br \/>\n        bysource hash head via hlist_replace_rcu.<\/p>\n<p>I&#8217;d rather not increase the size of the struct nf_conn for this feature<br \/>\nhas very limited scope: only one expectation can be created at a time<br \/>\ngiven expect_clash() will make nf_ct_expect_related() reports EBUSY.<br \/>\nFor this reason, relax nf_ct_expect_related() not to drop packets in<br \/>\ncase expectation creation fails, therefore, expectation creation becomes<br \/>\nbest effort.<\/p>\n<p>To address this issue, add an internal ct helper and attach it to the<br \/>\nconntrack entry to streamline the custom ct expectation support with<br \/>\nexisting ct helpers.<\/p>\n<p>Expose a new nf_conntrack_helper_release() function to release the<br \/>\ninternal helper that is allocated and attached to the conntrack entry to<br \/>\ncreate the custom expectations. The nft_ct module removal always waits<br \/>\nfor rcu grace period, then the NULL helper callback is observed after<br \/>\nthis.<\/p>\n<p>This patch also restricts the creation of expectations to different<br \/>\nhelpers other than this custom helper that is created for this type of<br \/>\nexpectations.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfilter: nft_ct: move custom expectation support to helper<\/p>\n<p>Originally, the ct expectation support called nf_ct_helper_ext_add() <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25646","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25646","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=25646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}