{"id":"CVE-2026-64543","summary":"tipc: fix use-after-free of the discoverer in tipc_disc_rcv()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ntipc: fix use-after-free of the discoverer in tipc_disc_rcv()\n\nbearer_disable() frees b-\u003edisc with tipc_disc_delete()'s plain kfree(),\nbut tipc_disc_rcv() still dereferences b-\u003edisc in RX softirq under\nrcu_read_lock() (tipc_udp_recv -\u003e tipc_rcv -\u003e tipc_disc_rcv).\n\nL2 bearers are safe thanks to the synchronize_net() in\ntipc_disable_l2_media(), but the UDP bearer defers that call to the\ncleanup_bearer() workqueue, so the discoverer is freed with no grace\nperiod:\n\n BUG: KASAN: slab-use-after-free in tipc_disc_rcv (net/tipc/discover.c:149)\n Read of size 8 at addr ffff88802348b728 by task poc_tipc/184\n \u003cIRQ\u003e\n  tipc_disc_rcv (net/tipc/discover.c:149)\n  tipc_rcv (net/tipc/node.c:2126)\n  tipc_udp_recv (net/tipc/udp_media.c:391)\n  udp_rcv (net/ipv4/udp.c:2643)\n  ip_local_deliver_finish (net/ipv4/ip_input.c:241)\n \u003c/IRQ\u003e\n Freed by task 181:\n  kfree (mm/slub.c:6565)\n  bearer_disable (net/tipc/bearer.c:418)\n  tipc_nl_bearer_disable (net/tipc/bearer.c:1001)\n\nThe bearer is freed with kfree_rcu(); free the discoverer the same way.\nAdd an rcu_head to struct tipc_discoverer and free it and its skb from an\nRCU callback.\n\nBecause the RCU callback (tipc_disc_free_rcu) lives in module text, a\ncall_rcu() that is still pending when the tipc module is unloaded would\ninvoke a freed function. Add an rcu_barrier() to tipc_exit() after the\nbearer subsystem has been torn down, so all pending discoverer callbacks\nhave run before the module text goes away.\n\nReachable from an unprivileged user namespace: the TIPCv2 genl family is\nnetnsok and its bearer commands have no GENL_ADMIN_PERM. Needs CONFIG_TIPC\nand CONFIG_TIPC_MEDIA_UDP.","modified":"2026-08-21T03:30:25.758648264Z","published":"2026-07-27T20:10:35.565Z","related":["openSUSE-SU-2026:11476-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64543.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1579342d71133da7f00daa02c75cebec7372097b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/380413cdfd29fb9fa486c82889132b680c4983c5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/4da2ac7749411971e1b222b992da5a172ce45f98"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5e215bf1c47fdddf8203a0fe80a0ed594065f101"},{"type":"WEB","url":"https://git.kernel.org/stable/c/a0c5fdeb5fa257f8c6d469af266bc087cb5de6a2"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b65289e1c3f352a9f92c6e19713ddd647e033253"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ec7d54d8cc1723921d671e3272b427c96366506f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/f05b3f4c78370469286879c765f5a1dd39dbcd32"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/64xxx/CVE-2026-64543.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64543"},{"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":"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259"},{"fixed":"380413cdfd29fb9fa486c82889132b680c4983c5"},{"fixed":"f05b3f4c78370469286879c765f5a1dd39dbcd32"},{"fixed":"4da2ac7749411971e1b222b992da5a172ce45f98"},{"fixed":"5e215bf1c47fdddf8203a0fe80a0ed594065f101"},{"fixed":"ec7d54d8cc1723921d671e3272b427c96366506f"},{"fixed":"a0c5fdeb5fa257f8c6d469af266bc087cb5de6a2"},{"fixed":"b65289e1c3f352a9f92c6e19713ddd647e033253"},{"fixed":"1579342d71133da7f00daa02c75cebec7372097b"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-64543.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"4.17.0"},{"fixed":"5.10.265"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.216"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.183"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.145"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.97"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.40"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.5"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-64543.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"}]}