{"id":"CVE-2025-21756","published":"2025-02-27T02:18:11Z","modified":"2026-10-15T01:04:00Z","title":"vsock: Keep the binding until socket destruction","vendor":"Linux","product":"Linux","tier":"core","eol":null,"affectedVersions":[{"vendor":"Linux","product":"Linux","versions":[">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < e7754d564579a5db9c5c9f74228df5d6dd6f1173",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < e48fcb403c2d0e574c19683f09399ab4cf67809c",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < 42b33381e5e1f2b967dc4fb4221ddb9aaf10d197",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < 3f43540166128951cc1be7ab1ce6b7f05c670d8b",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < 645ce25aa0e67895b11d89f27bb86c9d444c40f8",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < b1afd40321f1c243cffbcf40ea7ca41aca87fa5e",">= c0cfa2d8a788fcf45df5bf4070ab2474c88d543a, < fcdd2242c0231032fc84e1404315c245ae56322a"]},{"vendor":"Linux","product":"Linux","versions":["5.5"]}],"description":{"text":"In the Linux kernel, the following vulnerability has been resolved:\n\nvsock: Keep the binding until socket destruction\n\nPreserve sockets bindings; this includes both resulting from an explicit\nbind() and those implicitly bound through autobind during connect().\n\nPrevents socket unbinding during a transport reassignment, which fixes a\nuse-after-free:\n\n    1. vsock_create() (refcnt=1) calls vsock_insert_unbound() (refcnt=2)\n    2. transport->release() calls vsock_remove_bound() without checking if\n       sk was bound and moved to bound list (refcnt=1)\n    3. vsock_bind() assumes sk is in unbound list and before\n       __vsock_insert_bound(vsock_bound_sockets()) calls\n       __vsock_remove_bound() which does:\n           list_del_init(&vsk->bound_table); // nop\n           sock_put(&vsk->sk);               // refcnt=0\n\nBUG: KASAN: slab-use-after-free in __vsock_bind+0x62e/0x730\nRead of size 4 at addr ffff88816b46a74c by task a.out/2057\n dump_stack_lvl+0x68/0x90\n print_report+0x174/0x4f6\n kasan_report+0xb9/0x190\n __vsock_bind+0x62e/0x730\n vsock_bind+0x97/0xe0\n __sys_bind+0x154/0x1f0\n __x64_sys_bind+0x6e/0xb0\n do_syscall_64+0x93/0x1b0\n entry_SYSCALL_64_after_hwframe+0x76/0x7e\n\nAllocated by task 2057:\n kasan_save_stack+0x1e/0x40\n kasan_save_track+0x10/0x30\n __kasan_slab_alloc+0x85/0x90\n kmem_cache_alloc_noprof+0x131/0x450\n sk_prot_alloc+0x5b/0x220\n sk_alloc+0x2c/0x870\n __vsock_create.constprop.0+0x2e/0xb60\n vsock_create+0xe4/0x420\n __sock_create+0x241/0x650\n __sys_socket+0xf2/0x1a0\n __x64_sys_socket+0x6e/0xb0\n do_syscall_64+0x93/0x1b0\n entry_SYSCALL_64_after_hwframe+0x76/0x7e\n\nFreed by task 2057:\n kasan_save_stack+0x1e/0x40\n kasan_save_track+0x10/0x30\n kasan_save_free_info+0x37/0x60\n __kasan_slab_free+0x4b/0x70\n kmem_cache_free+0x1a1/0x590\n __sk_destruct+0x388/0x5a0\n __vsock_bind+0x5e1/0x730\n vsock_bind+0x97/0xe0\n __sys_bind+0x154/0x1f0\n __x64_sys_bind+0x6e/0xb0\n do_syscall_64+0x93/0x1b0\n entry_SYSCALL_64_after_hwframe+0x76/0x7e\n\nrefcount_t: addition on 0; use-after-free.\nWARNING: CPU: 7 PID: 2057 at lib/refcount.c:25 refcount_warn_saturate+0xce/0x150\nRIP: 0010:refcount_warn_saturate+0xce/0x150\n __vsock_bind+0x66d/0x730\n vsock_bind+0x97/0xe0\n __sys_bind+0x154/0x1f0\n __x64_sys_bind+0x6e/0xb0\n do_syscall_64+0x93/0x1b0\n entry_SYSCALL_64_after_hwframe+0x76/0x7e\n\nrefcount_t: underflow; use-after-free.\nWARNING: CPU: 7 PID: 2057 at lib/refcount.c:28 refcount_warn_saturate+0xee/0x150\nRIP: 0010:refcount_warn_saturate+0xee/0x150\n vsock_remove_bound+0x187/0x1e0\n __vsock_release+0x383/0x4a0\n vsock_release+0x90/0x120\n __sock_release+0xa3/0x250\n sock_close+0x14/0x20\n __fput+0x359/0xa80\n task_work_run+0x107/0x1d0\n do_exit+0x847/0x2560\n do_group_exit+0xb8/0x250\n __x64_sys_exit_group+0x3a/0x50\n x64_sys_call+0xfec/0x14f0\n do_syscall_64+0x93/0x1b0\n entry_SYSCALL_64_after_hwframe+0x76/0x7e","provenance":"source","from":"CVE.org"},"summary":null,"cvss":{"score":7.8,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"CVE.org CNA"},"epss":{"score":0.00891,"percentile":0.5931,"date":"2026-10-29","provenance":"source"},"kev":null,"vulncheckKev":{"dateAdded":"2026-01-30","exploitedFirstSeen":"2026-01-30","ransomware":false,"evidence":[{"url":"https://cyble.com/blog/shadowhs-fileless-linux-post-exploitation-framework/","date":"2026-01-30"}],"evidenceTotal":1,"provenance":"source"},"exploited":true,"otx":{"pulseCount":7,"pulses":[{"name":"EbeeFeb2026 Pt1","url":"https://otx.alienvault.com/pulse/698c4f02712e4743d0aa2263","created":"2026-02-11"},{"name":"ShadowHS: A Fileless Linux PostExploitation Framework Built on a Weaponized hackshell","url":"https://otx.alienvault.com/pulse/697db075119d0a01e9d6db46","created":"2026-01-31"},{"name":"ACTUALIZACION | Relacionada con nueva versión de Chrome","url":"https://otx.alienvault.com/pulse/68e974e19a5c983f37ed7910","created":"2025-10-10"},{"name":"Actualización SUSE UpDate 29/09/2025","url":"https://otx.alienvault.com/pulse/68daa3b4c7e6f663f7a73441","created":"2025-09-29"},{"name":"Actualización SUSE UpDate 29/09/2025","url":"https://otx.alienvault.com/pulse/68daa38bc843cde514e71436","created":"2025-09-29"},{"name":"Actualización IBM update - 31/08/2025","url":"https://otx.alienvault.com/pulse/68b5a70a9a5e162ed6714aa3","created":"2025-09-01"},{"name":"Actualización SUSE update - 31/07/2025","url":"https://otx.alienvault.com/pulse/688b9a7b63d4d0ee1bc9b0d8","created":"2025-07-31"}],"provenance":"machine"},"cwes":[{"id":"CWE-416","name":"Use After Free"}],"references":[{"url":"https://git.kernel.org/stable/c/e7754d564579a5db9c5c9f74228df5d6dd6f1173","tags":[]},{"url":"https://git.kernel.org/stable/c/e48fcb403c2d0e574c19683f09399ab4cf67809c","tags":[]},{"url":"https://git.kernel.org/stable/c/42b33381e5e1f2b967dc4fb4221ddb9aaf10d197","tags":[]},{"url":"https://git.kernel.org/stable/c/3f43540166128951cc1be7ab1ce6b7f05c670d8b","tags":[]},{"url":"https://git.kernel.org/stable/c/645ce25aa0e67895b11d89f27bb86c9d444c40f8","tags":[]},{"url":"https://git.kernel.org/stable/c/b1afd40321f1c243cffbcf40ea7ca41aca87fa5e","tags":[]},{"url":"https://git.kernel.org/stable/c/fcdd2242c0231032fc84e1404315c245ae56322a","tags":[]},{"url":"https://lists.debian.org/debian-lts-announce/2025/05/msg00045.html","tags":[]},{"url":"https://lists.debian.org/debian-lts-announce/2025/05/msg00030.html","tags":[]},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-265688.html","tags":[]},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html","tags":[]},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-784472.html","tags":[]}],"techniques":[],"reports":[],"affected":[],"advisories":[],"euvd":{"id":"EUVD-2025-5169","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-5169","exploited":false,"exploitedSince":null,"provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":4,"skipped":0,"earliest":"2025-04-18","earliestUrl":"https://github.com/hoefler02/CVE-2025-21756","repos":[{"name":"hoefler02/CVE-2025-21756","url":"https://github.com/hoefler02/CVE-2025-21756","stars":158,"created":"2025-04-18"},{"name":"khoatran107/cve-2025-21756","url":"https://github.com/khoatran107/cve-2025-21756","stars":9,"created":"2025-06-26"},{"name":"h3raklez/CVE-2025-21756","url":"https://github.com/h3raklez/CVE-2025-21756","stars":1,"created":"2026-03-22"},{"name":"KuanKuanQAQ/cve-testing","url":"https://github.com/KuanKuanQAQ/cve-testing","stars":0,"created":"2025-06-19"}]},"first":{"date":"2025-04-18","source":"PoC-in-GitHub","url":"https://github.com/hoefler02/CVE-2025-21756"},"provenance":"source"},"exploitRefs":[],"flow":[],"timeline":[{"date":"2025-02-27","kind":"published","label":"Published (CVE.org)","url":"https://www.cve.org/CVERecord?id=CVE-2025-21756","provenance":"source"},{"date":"2025-04-18","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/hoefler02/CVE-2025-21756","provenance":"source"},{"date":"2026-01-30","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://cyble.com/blog/shadowhs-fileless-linux-post-exploitation-framework/","provenance":"source"}],"speed":{"daysToPublicExploit":50,"firstExploitFrom":"PoC-in-GitHub","daysToKev":null},"priority":{"score":64.4,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in VulnCheck KEV"},{"name":"Recent KEV listing","points":5.0,"detail":"added 273 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":11.86,"detail":"percentile 0.5931"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"4 PoC-in-GitHub repos"},{"name":"Mentioned in OTX pulses","points":2.05,"detail":"7 pulses"},{"name":"CVSS severity","points":5.46,"detail":"base score 7.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}