{"id":"CVE-2026-89508","summary":"RDMA/ucma: Lock the handler in ucma_set_ib_path()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/ucma: Lock the handler in ucma_set_ib_path()\n\nucma_set_ib_path() calls ucma_event_handler() straight from the write()\npath, without the handler lock that keeps ctx-\u003efile stable while a uevent\nis queued.  The handler re-reads ctx-\u003efile for every dereference:\n\n\tmutex_lock(&ctx-\u003efile-\u003emut);\t\t\t/* file A */\n\tlist_add_tail(&uevent-\u003elist, &ctx-\u003efile-\u003eevent_list);\t/* file B */\n\tmutex_unlock(&ctx-\u003efile-\u003emut);\t\t\t/* file B */\n\twake_up_interruptible(&ctx-\u003efile-\u003epoll_wait);\t/* file B */\n\nA concurrent ucma_migrate_id() reassigns ctx-\u003efile while the SET_OPTION\ncaller sleeps in mutex_lock(), so the list_add_tail() lands on file B's\nevent_list while only file A's mutex is held, racing every other user of\nthat list:\n\n  BUG: KASAN: slab-use-after-free in __list_add_valid_or_report+0x1aa/0x1c0\n  Read of size 8 at addr ffff888153c6a418 by task poc_corr/486\n  Call Trace:\n   __list_add_valid_or_report+0x1aa/0x1c0\n   ucma_event_handler+0x1be/0xc00\n   ucma_set_ib_path+0x45e/0x710\n   ucma_set_option+0x32e/0x590\n   ucma_write+0x1f9/0x330\n  Allocated by task 505:\n   ucma_write_cm_event+0x1a1/0x660\n  Freed by task 505:\n   kfree+0x1da/0x4c0\n   ucma_get_event+0x5d5/0x7e0\n\nThe freed object is a ucma_event that another thread dequeued from file B's\nlist under file B's mutex.  File A's mut is left held on top of that,\nwedging its next writer in uninterruptible sleep.\n\nThis path needs a bound and address-resolved cm_id, so it requires an RDMA\ndevice to be present.\n\nTake the handler lock around the call.","modified":"2026-09-25T18:27:22.338489263Z","published":"2026-09-11T19:43:54.682Z","related":["openSUSE-SU-2026:11880-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89508.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/28ac2dd416482d1c763c4af5d61af465b387fb50"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3dd07b369371a2f29e1c3caf1ade85bb92b4c551"},{"type":"WEB","url":"https://git.kernel.org/stable/c/43a7d8ae9f645dc00235cfa4bf57673c20b769f8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/71dc206f2e2a645dac78879768762451aa1799f7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/764586f8f6180084c5a7d622120f526acc6ce0c9"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a7f8d26e653ee43b0b572984b8ec544d3b3b6f3c"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b2da0d488a1c72956ebb0a57015ee8ee6a2f7748"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ecbe7d36dc2de07e5dfbb4a8ff5b315ab43de820"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89508.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89508"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"09e328e47a695b0d346598f5d6593ee598e64885"},{"fixed":"3dd07b369371a2f29e1c3caf1ade85bb92b4c551"},{"fixed":"b2da0d488a1c72956ebb0a57015ee8ee6a2f7748"},{"fixed":"a7f8d26e653ee43b0b572984b8ec544d3b3b6f3c"},{"fixed":"71dc206f2e2a645dac78879768762451aa1799f7"},{"fixed":"764586f8f6180084c5a7d622120f526acc6ce0c9"},{"fixed":"28ac2dd416482d1c763c4af5d61af465b387fb50"},{"fixed":"43a7d8ae9f645dc00235cfa4bf57673c20b769f8"},{"fixed":"ecbe7d36dc2de07e5dfbb4a8ff5b315ab43de820"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-89508.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.10.0"},{"fixed":"5.10.270"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.221"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.188"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.109"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.50"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.4"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-89508.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}