{"id":29255,"date":"2026-09-25T20:32:15","date_gmt":"2026-09-25T12:32:15","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98101"},"modified":"2026-09-25T20:32:15","modified_gmt":"2026-09-25T12:32:15","slug":"cve-2026-98101","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98101","title":{"rendered":"CVE-2026-98101 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nipv6: mcast: use copy"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source()<\/p>\n<p>pmc-&gt;sflist is read locklessly under rcu_read_lock() by<br \/>\ninet6_mc_check() during packet reception in the UDP and RAW<br \/>\nmulticast receive paths.<\/p>\n<p>ip6_mc_source() mutated psl-&gt;sl_addr and psl-&gt;sl_count in-place<br \/>\nwhen adding or removing a source filter. Additionally, when expanding<br \/>\nthe filter buffer, newpsl was published via rcu_assign_pointer()<br \/>\nbefore writing the new source into the array.<\/p>\n<p>Because 16-byte struct in6_addr writes are not atomic and array<br \/>\nshifting is not synchronized with RCU readers, concurrent readers in<br \/>\ninet6_mc_check() could read torn IPv6 addresses or observe<br \/>\nduplicated\/missed source entries.<\/p>\n<p>Fix this by switching ip6_mc_source() to copy-on-write RCU updates:<br \/>\nallocate and fully populate newpsl before publishing it via<br \/>\nrcu_assign_pointer(), and reclaim the old filter via kfree_rcu(),<br \/>\nmatching ip6_mc_msfilter().<\/p>\n<p>Also remove the now unused IP6_SFBLOCK macro.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ipv6: mcast: use copy-on-write RCU updates in ip6_mc_source()<\/p>\n<p>pmc-&gt;sflist is read locklessly under rcu_read_lock() by<br \/>\ninet6_mc_che<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29255","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29255","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=29255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}