{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2023-53824",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2023-53824"
  ],
  "published": "2025-12-09T01:31:24Z",
  "summary": "netlink: annotate lockless accesses to nlk->max_recvmsg_len",
  "details": "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",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.21-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v6",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v7l",
            "binary_version": "1:6.1.21-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi1-rpi-v8",
            "binary_version": "1:6.1.21-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.21-1+rpt1": {
            "linux_commit": "0afb5e98488aed7017b9bf321b575d0177feb7ed",
            "upstream_version": "6.1.21",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.24"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2023-53824"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/05c9e3fc93b02d18c3ab258d43350a6d44b40bbd"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/7cff4103be7c402ecc3e7bf8f95a64089e3c91b8"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/e3bcf2a77060bea4d8d09cb09d92c7056f07df5a"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/fc4ba13013ddaea8b11b88fd52b35449e2d9cf85"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a1865f2e7d10dde00d35a2122b38d2e469ae67ed"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:24:39Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "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 \u2014 one thread loops recvmsg() with large user-controlled lengths while another drives netlink_dump() on the same fd \u2014 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 \u2014 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."
    }
  }
}
