{"id":21430,"date":"2026-09-12T04:31:10","date_gmt":"2026-09-11T20:31:10","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89508"},"modified":"2026-09-12T04:31:10","modified_gmt":"2026-09-11T20:31:10","slug":"cve-2026-89508","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89508","title":{"rendered":"CVE-2026-89508 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA\/ucma: Lock the h"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/ucma: Lock the handler in ucma_set_ib_path()<\/p>\n<p>ucma_set_ib_path() calls ucma_event_handler() straight from the write()<br \/>\npath, without the handler lock that keeps ctx-&gt;file stable while a uevent<br \/>\nis queued.  The handler re-reads ctx-&gt;file for every dereference:<\/p>\n<p>\tmutex_lock(&amp;ctx-&gt;file-&gt;mut);\t\t\t\/* file A *\/<br \/>\n\tlist_add_tail(&amp;uevent-&gt;list, &amp;ctx-&gt;file-&gt;event_list);\t\/* file B *\/<br \/>\n\tmutex_unlock(&amp;ctx-&gt;file-&gt;mut);\t\t\t\/* file B *\/<br \/>\n\twake_up_interruptible(&amp;ctx-&gt;file-&gt;poll_wait);\t\/* file B *\/<\/p>\n<p>A concurrent ucma_migrate_id() reassigns ctx-&gt;file while the SET_OPTION<br \/>\ncaller sleeps in mutex_lock(), so the list_add_tail() lands on file B&#8217;s<br \/>\nevent_list while only file A&#8217;s mutex is held, racing every other user of<br \/>\nthat list:<\/p>\n<p>  BUG: KASAN: slab-use-after-free in __list_add_valid_or_report+0x1aa\/0x1c0<br \/>\n  Read of size 8 at addr ffff888153c6a418 by task poc_corr\/486<br \/>\n  Call Trace:<br \/>\n   __list_add_valid_or_report+0x1aa\/0x1c0<br \/>\n   ucma_event_handler+0x1be\/0xc00<br \/>\n   ucma_set_ib_path+0x45e\/0x710<br \/>\n   ucma_set_option+0x32e\/0x590<br \/>\n   ucma_write+0x1f9\/0x330<br \/>\n  Allocated by task 505:<br \/>\n   ucma_write_cm_event+0x1a1\/0x660<br \/>\n  Freed by task 505:<br \/>\n   kfree+0x1da\/0x4c0<br \/>\n   ucma_get_event+0x5d5\/0x7e0<\/p>\n<p>The freed object is a ucma_event that another thread dequeued from file B&#8217;s<br \/>\nlist under file B&#8217;s mutex.  File A&#8217;s mut is left held on top of that,<br \/>\nwedging its next writer in uninterruptible sleep.<\/p>\n<p>This path needs a bound and address-resolved cm_id, so it requires an RDMA<br \/>\ndevice to be present.<\/p>\n<p>Take the handler lock around the call.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>RDMA\/ucma: Lock the handler in ucma_set_ib_path()<\/p>\n<p>ucma_set_ib_path() calls ucma_event_handler() straight from the write()<br \/>\npath, wi<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21430","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21430","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=21430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}