{"id":"CVE-2023-52654","state":"PUBLISHED","title":"io_uring/af_unix: disable sending io_uring over sockets","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring/af_unix: disable sending io_uring over sockets\n\nFile reference cycles have caused lots of problems for io_uring\nin the past, and it still doesn't work exactly right and races with\nunix_stream_read_generic(). The safest fix would be to completely\ndisallow sending io_uring files via sockets via SCM_RIGHT, so there\nare no possible cycles invloving registered files and thus rendering\nSCM accounting on the io_uring side unnecessary.","publishedAt":"2024-05-09T16:37:04.293Z","updatedAt":"2026-08-05T09:10:52.194Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"04df9719df1865f6770af9bc7880874af0e594b2","status":"affected","lessThan":"18824f592aad4124d79751bbc1500ea86ac3ff29","versionType":"git"},{"version":"c378c479c5175833bb22ff71974cda47d7b05401","status":"affected","lessThan":"3fe1ea5f921bf5b71cbfdc4469fb96c05936610e","versionType":"git"},{"version":"813d8fe5d30388f73a21d3a2bf46b0a1fd72498c","status":"affected","lessThan":"bcedd497b3b4a0be56f3adf7c7542720eced0792","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"f2f57f51b53be153a522300454ddb3887722fb2c","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"5a33d385eb36991a91e3dddb189d8679e2aac2be","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"705318a99a138c29a512a72c3e0043b3cd7f55f4","versionType":"git"},{"version":"b4293c01ee0d0ecdd3cb5801e13f62271144667a","status":"affected","versionType":"git"},{"version":"75e94c7e8859e58aadc15a98cc9704edff47d4f2","status":"affected","versionType":"git"},{"version":"5.4.220","status":"affected","lessThan":"5.4.264","versionType":"semver"},{"version":"5.10.150","status":"affected","lessThan":"5.10.204","versionType":"semver"},{"version":"5.15.75","status":"affected","lessThan":"5.15.143","versionType":"semver"},{"version":"5.19.17","status":"affected","lessThan":"5.20","versionType":"semver"},{"version":"6.0.3","status":"affected","lessThan":"6.1","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/rsrc.h","net/core/scm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.1","versionType":"semver"},{"version":"5.4.264","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.204","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.143","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.68","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.7","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/rsrc.h","net/core/scm.c"]}],"references":["https://git.kernel.org/stable/c/18824f592aad4124d79751bbc1500ea86ac3ff29","https://git.kernel.org/stable/c/3fe1ea5f921bf5b71cbfdc4469fb96c05936610e","https://git.kernel.org/stable/c/bcedd497b3b4a0be56f3adf7c7542720eced0792","https://git.kernel.org/stable/c/f2f57f51b53be153a522300454ddb3887722fb2c","https://git.kernel.org/stable/c/5a33d385eb36991a91e3dddb189d8679e2aac2be","https://git.kernel.org/stable/c/705318a99a138c29a512a72c3e0043b3cd7f55f4"],"weaknesses":[],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/52xxx/CVE-2023-52654.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52654","state":"PUBLISHED","datePublished":"2024-05-09T16:37:04.293Z","dateUpdated":"2026-08-05T09:10:52.194Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-03-06T09:52:12.098Z"},"containers":{"cna":{"title":"io_uring/af_unix: disable sending io_uring over sockets","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nio_uring/af_unix: disable sending io_uring over sockets\n\nFile reference cycles have caused lots of problems for io_uring\nin the past, and it still doesn't work exactly right and races with\nunix_stream_read_generic(). The safest fix would be to completely\ndisallow sending io_uring files via sockets via SCM_RIGHT, so there\nare no possible cycles invloving registered files and thus rendering\nSCM accounting on the io_uring side unnecessary."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"04df9719df1865f6770af9bc7880874af0e594b2","status":"affected","lessThan":"18824f592aad4124d79751bbc1500ea86ac3ff29","versionType":"git"},{"version":"c378c479c5175833bb22ff71974cda47d7b05401","status":"affected","lessThan":"3fe1ea5f921bf5b71cbfdc4469fb96c05936610e","versionType":"git"},{"version":"813d8fe5d30388f73a21d3a2bf46b0a1fd72498c","status":"affected","lessThan":"bcedd497b3b4a0be56f3adf7c7542720eced0792","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"f2f57f51b53be153a522300454ddb3887722fb2c","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"5a33d385eb36991a91e3dddb189d8679e2aac2be","versionType":"git"},{"version":"0091bfc81741b8d3aeb3b7ab8636f911b2de6e80","status":"affected","lessThan":"705318a99a138c29a512a72c3e0043b3cd7f55f4","versionType":"git"},{"version":"b4293c01ee0d0ecdd3cb5801e13f62271144667a","status":"affected","versionType":"git"},{"version":"75e94c7e8859e58aadc15a98cc9704edff47d4f2","status":"affected","versionType":"git"},{"version":"5.4.220","status":"affected","lessThan":"5.4.264","versionType":"semver"},{"version":"5.10.150","status":"affected","lessThan":"5.10.204","versionType":"semver"},{"version":"5.15.75","status":"affected","lessThan":"5.15.143","versionType":"semver"},{"version":"5.19.17","status":"affected","lessThan":"5.20","versionType":"semver"},{"version":"6.0.3","status":"affected","lessThan":"6.1","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/rsrc.h","net/core/scm.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.1","versionType":"semver"},{"version":"5.4.264","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.204","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.143","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.68","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.7","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.7","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/rsrc.h","net/core/scm.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/18824f592aad4124d79751bbc1500ea86ac3ff29"},{"url":"https://git.kernel.org/stable/c/3fe1ea5f921bf5b71cbfdc4469fb96c05936610e"},{"url":"https://git.kernel.org/stable/c/bcedd497b3b4a0be56f3adf7c7542720eced0792"},{"url":"https://git.kernel.org/stable/c/f2f57f51b53be153a522300454ddb3887722fb2c"},{"url":"https://git.kernel.org/stable/c/5a33d385eb36991a91e3dddb189d8679e2aac2be"},{"url":"https://git.kernel.org/stable/c/705318a99a138c29a512a72c3e0043b3cd7f55f4"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Triggered via local syscalls only (io_uring_setup, unix socketpair/sendmsg with SCM_RIGHTS, recvmsg); io_uring and AF_UNIX are local IPC paths, not reachable by remote packet processing.\nAC:L - The attacker fully controls both sides of the race—creating the io_uring instance and unix sockets, sending the ring FD via SCM_RIGHTS, triggering unix_gc, and racing concurrent recvmsg—and can retry until the GC vs unix_stream_read_generic window is won.\nPR:L - io_uring_setup is available to ordinary unprivileged users by default (sysctl io_uring_disabled=0), and AF_UNIX socket/SCM_RIGHTS operations require no capabilities.\nUI:N - Exploitation needs only the attacker's own io_uring and unix-socket operations; no separate victim action is required.\nS:U - This is a standard in-kernel UAF enabling local privilege escalation within the same host kernel authority; it does not cross a VM, IOMMU, or sandbox boundary.\nC:H - Confirmed use-after-free of an SKB (and associated SCM file state) when unix_gc frees a buffer still held by unix_stream_read_generic; UAF of reclaimable heap objects yields an arbitrary kernel read/disclosure primitive.\nI:H - The same SKB UAF is heap-sprayable into write and control-flow hijack primitives, enabling integrity compromise and arbitrary code execution in the kernel (as also assessed for sister CVE-2023-6531).\nA:H - The UAF causes kernel oops/panic when freed SKB memory is accessed during the race, producing a full availability impact even without further exploitation."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:10:52.194Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.220","versionEndExcluding":"5.4.264"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.150","versionEndExcluding":"5.10.204"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.75","versionEndExcluding":"5.15.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.1.68"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.6.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1","versionEndExcluding":"6.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.0.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2023-52654","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-05-09T18:37:06.033789Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-06-04T17:23:29.618Z"}},{"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/18824f592aad4124d79751bbc1500ea86ac3ff29","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/3fe1ea5f921bf5b71cbfdc4469fb96c05936610e","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/bcedd497b3b4a0be56f3adf7c7542720eced0792","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/f2f57f51b53be153a522300454ddb3887722fb2c","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/5a33d385eb36991a91e3dddb189d8679e2aac2be","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/705318a99a138c29a512a72c3e0043b3cd7f55f4","tags":["x_transferred"]}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2024-08-02T23:03:21.358Z"}}]}}}