CVE-2024-50033·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: slip: make slhc_remember() more robust against malicious packets syzbot found that slhc_remember() was missing checks against malicious packets [1]. slhc_remember() only checked the size of the packet was at least 20, which is not good enough. We need to make sure the packet includes the IPv4 and TCP header that are supposed to be carried. Add iph and th pointers to make the code more readable. [1] BUG: KMSAN: uninit-value in slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666 slhc_remember+0x2e8/0x7b0 drivers/net/slip/slhc.c:666 ppp_receive_nonmp_frame+0xe45/0x35e0 drivers/net/ppp/ppp_generic.c:2455 ppp_receive_frame drivers/net/ppp/ppp_generic.c:2372 [inline] ppp_do_recv+0x65f/0x40d0 drivers/net/ppp/ppp_generic.c:2212 ppp_input+0x7dc/0xe60 drivers/net/ppp/ppp_generic.c:2327 pppoe_rcv_core+0x1d3/0x720 drivers/net/ppp/pppoe.c:379 sk_backlog_rcv+0x13b/0x420 include/net/sock.h:1113 __release_sock+0x1da/0x330 net/core/sock.c:3072 release_sock+0x6b/0x250 net/core/sock.c:3626 pppoe_sendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903 sock_sendmsg_nosec net/socket.c:729 [inline] __sock_sendmsg+0x30f/0x380 net/socket.c:744 ____sys_sendmsg+0x903/0xb60 net/socket.c:2602 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656 __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742 __do_sys_sendmmsg net/socket.c:2771 [inline] __se_sys_sendmmsg net/socket.c:2768 [inline] __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768 x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was created at: slab_post_alloc_hook mm/slub.c:4091 [inline] slab_alloc_node mm/slub.c:4134 [inline] kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4186 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:587 __alloc_skb+0x363/0x7b0 net/core/skbuff.c:678 alloc_skb include/linux/skbuff.h:1322 [inline] sock_wmalloc+0xfe/0x1a0 net/core/sock.c:2732 pppoe_sendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867 sock_sendmsg_nosec net/socket.c:729 [inline] __sock_sendmsg+0x30f/0x380 net/socket.c:744 ____sys_sendmsg+0x903/0xb60 net/socket.c:2602 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2656 __sys_sendmmsg+0x3c1/0x960 net/socket.c:2742 __do_sys_sendmmsg net/socket.c:2771 [inline] __se_sys_sendmmsg net/socket.c:2768 [inline] __x64_sys_sendmmsg+0xbc/0x120 net/socket.c:2768 x64_sys_call+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls_64.h:308 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f CPU: 0 UID: 0 PID: 5460 Comm: syz.2.33 Not tainted 6.12.0-rc2-syzkaller-00006-g87d6aab2389e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.11.4
- Published
- 2024-10-21
Affected versions
From: 6.7
Until: 6.11.4
Fixed in: 6.11.4
How to fix this CVE
Update your Linux kernel to version 6.11.4 or later to patch the SLIP header compression vulnerability. This fix hardens the slhc_remember() function to properly validate IPv4 and TCP headers before processing malicious packets, preventing uninitialized memory access. Apply the kernel update through your distribution's package manager and reboot the system.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version with 'uname -r' and compare against the affected range (6.7 to 6.11.3)
- Step 2: Verify if PPPoE or SLIP compression is in use by checking 'grep -i slip /proc/modules' and 'lsmod | grep -E "(pppoe|slhc)"'
- Step 3: Search system logs for malformed PPPoE packets or kernel warnings: 'sudo dmesg | grep -i "slip\|slhc\|pppoe"'
- Step 4: Confirm the patch was applied by verifying kernel version is 6.11.4 or later with 'uname -r' after reboot
FAQ
What is CVE-2024-50033?
CVE-2024-50033 is a kernel vulnerability in the SLIP header compression handler that fails to validate packet structure, allowing malicious packets to trigger uninitialized memory reads. This affects systems using PPPoE over SLIP compression, typically in dial-up or legacy network configurations.
Is CVE-2024-50033 being actively exploited?
No, CVE-2024-50033 is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available, though the vulnerability was discovered through fuzzing.
What versions of Kernel are affected by CVE-2024-50033?
Linux kernel versions 6.7 through 6.11.3 are vulnerable; the fix is included in kernel 6.11.4 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-50033?
Run 'uname -r' to check your kernel version. If it reports 6.7.x through 6.11.3, you are vulnerable. Additionally verify PPPoE or SLIP is active with 'lsmod | grep -E "(pppoe|slhc)"'.
Does Defensia detect CVE-2024-50033?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Linux kernel is installed on a monitored server, CVE-2024-50033 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/29e8d96d44f51cf89a62dd042be35d052833b95c
- https://git.kernel.org/stable/c/36b054324d18e51cf466134e13b6fbe3c91f52af
- https://git.kernel.org/stable/c/5e336384cc9b608e0551f99c3d87316ca3b0e51a
- https://git.kernel.org/stable/c/7d3fce8cbe3a70a1c7c06c9b53696be5d5d8dd5c
- https://git.kernel.org/stable/c/8bb79eb1db85a10865f0d4dd15b013def3f2d246
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-50033. Free for 1 server.
Get started free