{"id":25734,"date":"2026-09-18T04:31:48","date_gmt":"2026-09-17T20:31:48","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90325"},"modified":"2026-09-18T04:31:48","modified_gmt":"2026-09-17T20:31:48","slug":"cve-2026-90325","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-90325","title":{"rendered":"CVE-2026-90325 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nblk-cgroup: skip dyin"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>blk-cgroup: skip dying blkg in blkcg_activate_policy()<\/p>\n<p>When switching IO schedulers on a block device, blkcg_activate_policy()<br \/>\ncan race with concurrent blkcg deletion, leading to a use-after-free in<br \/>\nrcu_accelerate_cbs.<\/p>\n<p>T1:                               T2:<br \/>\n                                  blkg_destroy<br \/>\n                                  kill(&amp;blkg-&gt;refcnt) \/\/ blkg-&gt;refcnt=1-&gt;0<br \/>\n                                  blkg_release \/\/ call_rcu(__blkg_release)<br \/>\n                                  &#8230;<br \/>\n                                  blkg_free_workfn<br \/>\n                                  -&gt;pd_free_fn(pd)<br \/>\nelv_iosched_store<br \/>\nelevator_switch<br \/>\n&#8230;<br \/>\niterate blkg list<br \/>\nblkg_get(blkg) \/\/ blkg-&gt;refcnt=0-&gt;1<br \/>\n                                  list_del_init(&amp;blkg-&gt;q_node)<br \/>\nblkg_put(pinned_blkg) \/\/ blkg-&gt;refcnt=1-&gt;0<br \/>\nblkg_release \/\/ call_rcu again<br \/>\nrcu_accelerate_cbs \/\/ uaf<\/p>\n<p>Fix this by checking hlist_unhashed(&amp;blkg-&gt;blkcg_node) before getting<br \/>\na reference to the blkg. This is the same check used in blkg_destroy()<br \/>\nto detect if a blkg has already been destroyed. If the blkg is already<br \/>\nunhashed, skip processing it since it&#8217;s being destroyed.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>blk-cgroup: skip dying blkg in blkcg_activate_policy()<\/p>\n<p>When switching IO schedulers on a block device, blkcg_activate_policy()<br \/>\ncan<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25734","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25734","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=25734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}