CVE-2024-36938: Linux kernel · bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 5.5 Medium · fixed in 5.4.0-1136.146~18.04.1 : update Linux kernel when convenient.
Data as of 12 Nov 2026, 19:04 UTC
- Patch
- Available – fixed in 5.4.0-1136.146~18.04.1, 5.4.0-1142.149~18.04.1, 5.4.0-1140.149~18.04.1 +72
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 30 May 2024
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 12 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Patches and advisories
- ubuntu.com/security/notices/USN-6949-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6952-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6955-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6956-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6957-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6949-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6952-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-7019-1 (opens in a new tab)
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 24.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-gcppkg:deb/ubuntu/linux-gcp?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-gkepkg:deb/ubuntu/linux-gke?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-ibmpkg:deb/ubuntu/linux-ibm?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
In the Linux kernel, the following vulnerability has been resolved: bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue Fix NULL pointer data-races in sk_psock_skb_ingress_enqueue() which syzbot reported [1]. [1] BUG: KCSAN: data-race in sk_psock_drop / sk_psock_skb_ingress_enqueue write to 0xffff88814b3278b8 of 8 bytes by task 10724 on cpu 1: sk_psock_stop_verdict net/core/skmsg.c:1257 [inline] sk_psock_drop+0x13e/0x1f0 net/core/skmsg.c:843 sk_psock_put include/linux/skmsg.h:459 [inline] sock_map_close+0x1a7/0x260 net/core/sock_map.c:1648 unix_release+0x4b/0x80 net/unix/af_unix.c:1048 __sock_release net/socket.c:659 [inline] sock_close+0x68/0x150 net/socket.c:1421 __fput+0x2c1/0x660 fs/file_table.c:422 __fput_sync+0x44/0x60 fs/file_table.c:507 __do_sys_close fs/open.c:1556 [inline] __se_sys_close+0x101/0x1b0 fs/open.c:1541 __x64_sys_close+0x1f/0x30 fs/open.c:1541 do_syscall_64+0xd3/0x1d0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 read to 0xffff88814b3278b8 of 8 bytes by task 10713 on cpu 0: sk_psock_data_ready include/linux/skmsg.h:464 [inline] sk_psock_skb_ingress_enqueue+0x32d/0x390 net/core/skmsg.c:555 sk_psock_skb_ingress_self+0x185/0x1e0 net/core/skmsg.c:606 sk_psock_verdict_apply net/core/skmsg.c:1008 [inline] sk_psock_verdict_recv+0x3e4/0x4a0 net/core/skmsg.c:1202 unix_read_skb net/unix/af_unix.c:2546 [inline] unix_stream_read_skb+0x9e/0xf0 net/unix/af_unix.c:2682 sk_psock_verdict_data_ready+0x77/0x220 net/core/skmsg.c:1223 unix_stream_sendmsg+0x527/0x860 net/unix/af_unix.c:2339 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x140/0x180 net/socket.c:745 ____sys_sendmsg+0x312/0x410 net/socket.c:2584 ___sys_sendmsg net/socket.c:2638 [inline] __sys_sendmsg+0x1e9/0x280 net/socket.c:2667 __do_sys_sendmsg net/socket.c:2676 [inline] __se_sys_sendmsg net/socket.c:2674 [inline] __x64_sys_sendmsg+0x46/0x50 net/socket.c:2674 do_syscall_64+0xd3/0x1d0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 value changed: 0xffffffff83d7feb0 -> 0x0000000000000000 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 10713 Comm: syz-executor.4 Tainted: G W 6.8.0-syzkaller-08951-gfe46a7dd189e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024 Prior to this, commit 4cd12c6065df ("bpf, sockmap: Fix NULL pointer dereference in sk_psock_verdict_data_ready()") fixed one NULL pointer similarly due to no protection of saved_data_ready. Here is another different caller causing the same issue because of the same reason. So we should protect it with sk_callback_lock read lock because the writer side in the sk_psock_drop() uses "write_lock_bh(&sk->sk_callback_lock);". To avoid errors that could happen in future, I move those two pairs of lock into the sk_psock_data_ready(), which is suggested by John Fastabend.
References
- ubuntu.com/security/CVE-2024-36938 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2024-36938 (opens in a new tab)
- git.kernel.org/linus/6648e613226e18897231ab5e42ffc29e63fa3365 (opens in a new tab)
- git.kernel.org/stable/c/5965bc7535fb87510b724e5465ccc1a1cf00916d (opens in a new tab)
- git.kernel.org/stable/c/39dc9e1442385d6e9be0b6491ee488dddd55ae27 (opens in a new tab)
- git.kernel.org/stable/c/b397a0ab8582c533ec0c6b732392f141fc364f87 (opens in a new tab)
- git.kernel.org/stable/c/772d5729b5ff0df0d37b32db600ce635b2172f80 (opens in a new tab)
- git.kernel.org/stable/c/6648e613226e18897231ab5e42ffc29e63fa3365 (opens in a new tab)
- ubuntu.com/security/notices/USN-6949-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6952-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6955-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6956-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6957-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-6949-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6952-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-6950-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-7019-1 (opens in a new tab)