Skip to main content

CVE-2024-50033: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-50033cvecve-2024-50033
Published: Mon Oct 21 2024 (10/21/2024, 19:39:35 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

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

AI-Powered Analysis

AILast updated: 06/28/2025, 16:27:25 UTC

Technical Analysis

CVE-2024-50033 is a vulnerability identified in the Linux kernel's SLIP (Serial Line Internet Protocol) implementation, specifically within the slhc_remember() function. This function is responsible for processing SLIP packets, which encapsulate IP packets over serial lines. The vulnerability arises because slhc_remember() only checked that incoming packets were at least 20 bytes in size, which is insufficient to guarantee the presence of complete IPv4 and TCP headers. This lack of thorough validation allows maliciously crafted packets to trigger uninitialized memory usage within the kernel, as evidenced by the KMSAN (Kernel Memory Sanitizer) report indicating uninitialized value usage at slhc_remember+0x2e8/0x7b0. The root cause is that the function did not verify that the packet contained the full IPv4 and TCP headers before processing, leading to potential undefined behavior or memory corruption. The patch involves adding explicit checks for the presence of these headers and improving code readability by introducing pointers to the IP and TCP headers. The vulnerability was discovered by syzbot, an automated kernel fuzzer, and affects Linux kernel versions prior to the fix. The vulnerability does not currently have known exploits in the wild and lacks a CVSS score. The affected component is part of the PPP (Point-to-Point Protocol) stack, specifically the SLIP driver, which is less commonly used today but still present in many Linux kernel builds. Exploitation would require an attacker to send crafted SLIP packets to a vulnerable system, potentially causing kernel memory corruption or crashes.

Potential Impact

For European organizations, the impact of CVE-2024-50033 depends largely on the deployment of Linux systems utilizing SLIP or PPP over serial lines. While SLIP is largely obsolete, PPP remains in use in some niche or legacy environments, including embedded systems, industrial control systems, and certain network appliances. Exploitation could lead to kernel crashes (denial of service) or potentially more severe consequences such as privilege escalation or arbitrary code execution if the memory corruption can be leveraged further. This could disrupt critical infrastructure, especially in sectors relying on embedded Linux devices or legacy communication protocols. Confidentiality and integrity could be compromised if attackers gain kernel-level access. Availability impacts could affect network connectivity or device operation. Given the limited attack surface (requiring SLIP packet delivery), the threat is more relevant to organizations with legacy or specialized Linux deployments rather than general-purpose servers. However, the presence of this vulnerability in the Linux kernel means that any exposed or internally reachable vulnerable systems could be targeted, especially in industrial or telecom sectors prevalent in Europe.

Mitigation Recommendations

1. Immediate application of the official Linux kernel patches that address this vulnerability is the primary mitigation step. Organizations should track kernel updates and apply them promptly. 2. Audit and inventory Linux systems to identify those running kernel versions affected by CVE-2024-50033, focusing on devices using SLIP or PPP protocols. 3. Disable or remove SLIP and PPP modules if they are not required, reducing the attack surface. 4. Implement network segmentation to isolate legacy or embedded devices that may use SLIP/PPP from critical networks. 5. Employ strict ingress filtering to block malformed or unexpected SLIP packets at network boundaries. 6. Monitor kernel logs and system behavior for anomalies indicative of exploitation attempts, such as kernel crashes or memory errors related to slhc_remember. 7. For embedded or industrial devices, coordinate with vendors for firmware updates incorporating the fix. 8. Conduct penetration testing and fuzzing on SLIP/PPP interfaces to verify robustness post-patching.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-10-21T12:17:06.069Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9824c4522896dcbdfd62

Added to database: 5/21/2025, 9:08:52 AM

Last enriched: 6/28/2025, 4:27:25 PM

Last updated: 8/11/2025, 9:00:40 AM

Views: 9

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats