{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53824","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-09T01:27:17.824Z","datePublished":"2025-12-09T01:29:37.432Z","dateUpdated":"2026-08-05T09:16:15.802Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:16:15.802Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetlink: annotate lockless accesses to nlk->max_recvmsg_len\n\nsyzbot reported a data-race in data-race in netlink_recvmsg() [1]\n\nIndeed, netlink_recvmsg() can be run concurrently,\nand netlink_dump() also needs protection.\n\n[1]\nBUG: KCSAN: data-race in netlink_recvmsg / netlink_recvmsg\n\nread to 0xffff888141840b38 of 8 bytes by task 23057 on cpu 0:\nnetlink_recvmsg+0xea/0x730 net/netlink/af_netlink.c:1988\nsock_recvmsg_nosec net/socket.c:1017 [inline]\nsock_recvmsg net/socket.c:1038 [inline]\n__sys_recvfrom+0x1ee/0x2e0 net/socket.c:2194\n__do_sys_recvfrom net/socket.c:2212 [inline]\n__se_sys_recvfrom net/socket.c:2208 [inline]\n__x64_sys_recvfrom+0x78/0x90 net/socket.c:2208\ndo_syscall_x64 arch/x86/entry/common.c:50 [inline]\ndo_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80\nentry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nwrite to 0xffff888141840b38 of 8 bytes by task 23037 on cpu 1:\nnetlink_recvmsg+0x114/0x730 net/netlink/af_netlink.c:1989\nsock_recvmsg_nosec net/socket.c:1017 [inline]\nsock_recvmsg net/socket.c:1038 [inline]\n____sys_recvmsg+0x156/0x310 net/socket.c:2720\n___sys_recvmsg net/socket.c:2762 [inline]\ndo_recvmmsg+0x2e5/0x710 net/socket.c:2856\n__sys_recvmmsg net/socket.c:2935 [inline]\n__do_sys_recvmmsg net/socket.c:2958 [inline]\n__se_sys_recvmmsg net/socket.c:2951 [inline]\n__x64_sys_recvmmsg+0xe2/0x160 net/socket.c:2951\ndo_syscall_x64 arch/x86/entry/common.c:50 [inline]\ndo_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80\nentry_SYSCALL_64_after_hwframe+0x63/0xcd\n\nvalue changed: 0x0000000000000000 -> 0x0000000000001000\n\nReported by Kernel Concurrency Sanitizer on:\nCPU: 1 PID: 23037 Comm: syz-executor.2 Not tainted 6.3.0-rc4-syzkaller-00195-g5a57b48fdfcb #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023"}],"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 - The vulnerability is reached through recvmsg()/recvmmsg() syscalls on an AF_NETLINK socket, which requires local system access. Netlink is explicitly a local attack vector.\nAC:L - The attacker owns both sides of the race — one thread loops recvmsg() with large user-controlled lengths while another drives netlink_dump() on the same fd — and can retry indefinitely with no condition outside their control.\nPR:L - netlink_create() performs no capability check, so any unprivileged user can open a NETLINK_ROUTE socket and start an RTM_GETLINK dump; no CAP_NET_ADMIN, root, or namespace privilege is needed.\nUI:N - The attacker triggers the race entirely from their own threads via ordinary socket syscalls; no victim action or interaction is required.\nS:U - The race and its consequences are confined to the kernel's own memory and the attacking process's netlink socket, within a single security authority.\nC:H - A latched oversized alloc_size drives an unchecked, signed skb_reserve() that can shift skb->data below skb->head, so the dump skb copied back to userspace can expose out-of-bounds kernel heap memory adjacent to the allocation.\nI:H - A negative skb_reserve() moves skb->tail before the allocated buffer and the dump callback then writes netlink message content there, giving an out-of-bounds heap write with attacker-influenced data — a control-flow-corruption primitive.\nA:H - The race defeats the 32 KB clamp, letting an unprivileged user force repeated multi-megabyte high-order skb allocations (memory pressure/OOM), and the out-of-bounds skb pointer arithmetic causes heap corruption and kernel oops/panic."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netlink/af_netlink.c"],"versions":[{"version":"9063e21fb026c4966fc93261c18322214f9835eb","lessThan":"05c9e3fc93b02d18c3ab258d43350a6d44b40bbd","status":"affected","versionType":"git"},{"version":"9063e21fb026c4966fc93261c18322214f9835eb","lessThan":"7cff4103be7c402ecc3e7bf8f95a64089e3c91b8","status":"affected","versionType":"git"},{"version":"9063e21fb026c4966fc93261c18322214f9835eb","lessThan":"e3bcf2a77060bea4d8d09cb09d92c7056f07df5a","status":"affected","versionType":"git"},{"version":"9063e21fb026c4966fc93261c18322214f9835eb","lessThan":"fc4ba13013ddaea8b11b88fd52b35449e2d9cf85","status":"affected","versionType":"git"},{"version":"9063e21fb026c4966fc93261c18322214f9835eb","lessThan":"a1865f2e7d10dde00d35a2122b38d2e469ae67ed","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netlink/af_netlink.c"],"versions":[{"version":"3.15","status":"affected"},{"version":"0","lessThan":"3.15","status":"unaffected","versionType":"semver"},{"version":"5.10.218","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.160","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.24","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2.11","lessThanOrEqual":"6.2.*","status":"unaffected","versionType":"semver"},{"version":"6.3","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.10.218"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.15.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.1.24"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.2.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.3"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/05c9e3fc93b02d18c3ab258d43350a6d44b40bbd"},{"url":"https://git.kernel.org/stable/c/7cff4103be7c402ecc3e7bf8f95a64089e3c91b8"},{"url":"https://git.kernel.org/stable/c/e3bcf2a77060bea4d8d09cb09d92c7056f07df5a"},{"url":"https://git.kernel.org/stable/c/fc4ba13013ddaea8b11b88fd52b35449e2d9cf85"},{"url":"https://git.kernel.org/stable/c/a1865f2e7d10dde00d35a2122b38d2e469ae67ed"}],"title":"netlink: annotate lockless accesses to nlk->max_recvmsg_len","x_generator":{"engine":"bippy-1.2.0"}}}}