{
    "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"
            }
        }
    }
}