{"id":"CVE-2026-64541","title":"net/smc: fix UAF in smc_cdc_rx_handler() by pinning the socket","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: fix UAF in smc_cdc_rx_handler() by pinning the socket\n\nsmc_cdc_rx_handler() looks up the connection by token under the link\ngroup's conns_lock, drops the lock,…","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 8de4f665d0febfb92803dece377791a563fc7041","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 8145b432136285e01091815b48ceb2dae261f262","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 1951bffbc6493ec34cff3956b29d4bc6606904a6","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 647b19e5cc145a2f1f685ae8ff3805a17356888c","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 472e9d7c0d5b03be3ff91ff941f57da822b031bc","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 3bfb96d9bc6a7ed0b99c7db329cc2e22a28d84bb","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < ce5aa8084329351086894aa34d77e40301d5bd3d","Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 9d160b35cc34a2ba8229d07651468a7848325135","Linux 4.18"],"ssvc":{"exploitation":"none","automatable":"yes","technicalImpact":"total","timestamp":"2026-10-16T15:42:09.809089Z"},"published":"2026-07-27","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:52:51.153Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-64541","references":[{"url":"https://git.kernel.org/stable/c/8de4f665d0febfb92803dece377791a563fc7041"},{"url":"https://git.kernel.org/stable/c/8145b432136285e01091815b48ceb2dae261f262"},{"url":"https://git.kernel.org/stable/c/1951bffbc6493ec34cff3956b29d4bc6606904a6"},{"url":"https://git.kernel.org/stable/c/647b19e5cc145a2f1f685ae8ff3805a17356888c"},{"url":"https://git.kernel.org/stable/c/472e9d7c0d5b03be3ff91ff941f57da822b031bc"},{"url":"https://git.kernel.org/stable/c/3bfb96d9bc6a7ed0b99c7db329cc2e22a28d84bb"},{"url":"https://git.kernel.org/stable/c/ce5aa8084329351086894aa34d77e40301d5bd3d"},{"url":"https://git.kernel.org/stable/c/9d160b35cc34a2ba8229d07651468a7848325135"}],"tags":["cve.org"],"epss":0.00565,"epssPercentile":0.45759,"ingestedAt":"2026-10-16T17:24:46.830Z","slug":"CVE-2026-64541","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet/smc: fix UAF in smc_cdc_rx_handler() by pinning the socket\n\nsmc_cdc_rx_handler() looks up the connection by token under the link\ngroup's conns_lock, drops the lock, and then dereferences conn and the\nsmc_sock derived from it, ending in sock_hold(&smc->sk) inside\nsmc_cdc_msg_recv(). No reference is held across the lock release.\n\nThe only reference pinning the socket while the connection is\ndiscoverable in the link group is taken in smc_lgr_register_conn()\n(sock_hold) and dropped in __smc_lgr_unregister_conn() (sock_put), both\nunder conns_lock. Once the handler drops conns_lock, a concurrent\nclose() -> smc_release() -> smc_conn_free() -> smc_lgr_unregister_conn()\ncan drop that reference and free the smc_sock, so the handler's later\nsock_hold() runs on freed memory:\n\n  WARNING: lib/refcount.c:25 at refcount_warn_saturate\n  Workqueue: rxe_wq do_work\n   refcount_warn_saturate (lib/refcount.c:25)\n   smc_cdc_msg_recv (net/smc/smc_cdc.c:430)\n   smc_cdc_rx_handler (net/smc/smc_cdc.c:502)\n   smc_wr_rx_tasklet_fn (net/smc/smc_wr.c:445)\n   tasklet_action_common (kernel/softirq.c:938)\n   handle_softirqs (kernel/softirq.c:622)\n  Kernel panic - not syncing: panic_on_warn set\n\nOnly SMC-R is affected. The SMC-D receive tasklet is stopped by\ntasklet_kill(&conn->rx_tsklet) in smc_conn_free() before the connection\nis unregistered, so it cannot run concurrently with the free.\n\nTake the socket reference while still holding conns_lock, so the\nregistration reference can no longer be the last one, and drop it once\nthe handler is done.\n\n## Affected\n\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 8de4f665d0febfb92803dece377791a563fc7041`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 8145b432136285e01091815b48ceb2dae261f262`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 1951bffbc6493ec34cff3956b29d4bc6606904a6`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 647b19e5cc145a2f1f685ae8ff3805a17356888c`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 472e9d7c0d5b03be3ff91ff941f57da822b031bc`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 3bfb96d9bc6a7ed0b99c7db329cc2e22a28d84bb`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < ce5aa8084329351086894aa34d77e40301d5bd3d`\n- `Linux >= d7b0e37c1ac152905b18a5b9506179091a35b0b6 < 9d160b35cc34a2ba8229d07651468a7848325135`\n- `Linux 4.18`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":54,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}