{"id":15188,"date":"2026-09-04T19:02:29","date_gmt":"2026-09-04T11:02:29","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64189"},"modified":"2026-09-04T19:02:29","modified_gmt":"2026-09-04T11:02:29","slug":"cve-2026-64189","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-64189","title":{"rendered":"CVE-2026-64189 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: ipset: fix"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfilter: ipset: fix race between dump and ip_set_list resize<\/p>\n<p>The release path of ip_set_dump_do() and ip_set_dump_done() read<br \/>\ninst-&gt;ip_set_list via ip_set_ref_netlink(), a plain rcu_dereference_raw()<br \/>\nof the array pointer. These run from netlink_recvmsg() without the nfnl<br \/>\nmutex and without an RCU read-side critical section.<\/p>\n<p>A concurrent ip_set_create() can grow the array: it publishes the new<br \/>\narray, calls synchronize_net() and then kvfree()s the old one. Since the<br \/>\ndump paths read the array outside any RCU reader, synchronize_net() does<br \/>\nnot wait for them and the old array can be freed while they still index<br \/>\ninto it, causing a use-after-free.<\/p>\n<p>The dumped set itself stays pinned via set-&gt;ref_netlink, so only the<br \/>\narray load needs protecting. Take rcu_read_lock() around it, matching<br \/>\nip_set_get_byname() and __ip_set_put_byindex().<\/p>\n<p>  BUG: KASAN: slab-use-after-free in ip_set_dump_do (net\/netfilter\/ipset\/ip_set_core.c:1697)<br \/>\n  Read of size 8 at addr ffff88800b5c4018 by task exploit\/150<br \/>\n  Call Trace:<br \/>\n   &#8230;<br \/>\n   kasan_report (mm\/kasan\/report.c:595)<br \/>\n   ip_set_dump_do (net\/netfilter\/ipset\/ip_set_core.c:1697)<br \/>\n   netlink_dump (net\/netlink\/af_netlink.c:2325)<br \/>\n   netlink_recvmsg (net\/netlink\/af_netlink.c:1976)<br \/>\n   sock_recvmsg (net\/socket.c:1159)<br \/>\n   __sys_recvfrom (net\/socket.c:2315)<br \/>\n   &#8230;<br \/>\n  Oops: general protection fault, probably for non-canonical address &#8230; KASAN NOPTI<br \/>\n  KASAN: maybe wild-memory-access in range [0x02d6&#8230;d0-0x02d6&#8230;d7]<br \/>\n  RIP: 0010:ip_set_dump_do (net\/netfilter\/ipset\/ip_set_core.c:1698)<br \/>\n  Kernel panic &#8211; not syncing: Fatal exception<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>netfilter: ipset: fix race between dump and ip_set_list resize<\/p>\n<p>The release path of ip_set_dump_do() and ip_set_dump_done() read<br \/>\nin<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-15188","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/15188","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=15188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}