{"id":"CVE-2026-64543","revision":"b0489d1832494746bdbdb90d32161ace","records":[{"revision":"b0489d1832494746bdbdb90d32161ace","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-64543","aliases":[],"title":"tipc: fix use-after-free of the discoverer in tipc_disc_rcv()","description":"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->disc with tipc_disc_delete()'s plain kfree(),\nbut tipc_disc_rcv() still dereferences b->disc in RX softirq under\nrcu_read_lock() (tipc_udp_recv -> tipc_rcv -> 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 <IRQ>\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 </IRQ>\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.","state":0,"publishedAt":"2026-07-27T20:10:35.565+00:00","modifiedAt":"2026-10-19T20:48:39.735+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/tipc/core.c\",\n                        \"net/tipc/discover.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"380413cdfd29fb9fa486c82889132b680c4983c5\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"f05b3f4c78370469286879c765f5a1dd39dbcd32\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"4da2ac7749411971e1b222b992da5a172ce45f98\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"5e215bf1c47fdddf8203a0fe80a0ed594065f101\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"ec7d54d8cc1723921d671e3272b427c96366506f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"a0c5fdeb5fa257f8c6d469af266bc087cb5de6a2\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"b65289e1c3f352a9f92c6e19713ddd647e033253\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"25b0b9c4e835ffaa65b61c3efe2e28acf84d0259\",\n                            \"lessThan\": \"1579342d71133da7f00daa02c75cebec7372097b\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/tipc/core.c\",\n                        \"net/tipc/discover.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.17\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.17\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.265\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.216\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.183\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.145\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.97\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.40\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.5\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":7.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/380413cdfd29fb9fa486c82889132b680c4983c5","https://git.kernel.org/stable/c/f05b3f4c78370469286879c765f5a1dd39dbcd32","https://git.kernel.org/stable/c/4da2ac7749411971e1b222b992da5a172ce45f98","https://git.kernel.org/stable/c/5e215bf1c47fdddf8203a0fe80a0ed594065f101","https://git.kernel.org/stable/c/ec7d54d8cc1723921d671e3272b427c96366506f","https://git.kernel.org/stable/c/a0c5fdeb5fa257f8c6d469af266bc087cb5de6a2","https://git.kernel.org/stable/c/b65289e1c3f352a9f92c6e19713ddd647e033253","https://git.kernel.org/stable/c/1579342d71133da7f00daa02c75cebec7372097b"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-64543","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-64543","identifiers":["CVE-2026-64543"]},"retained":false,"historicalAffected":[]}],"coverage":[]}