Skip to main content

CVE-2024-50035: Vulnerability in Linux Linux

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

Description

In the Linux kernel, the following vulnerability has been resolved: ppp: fix ppp_async_encode() illegal access syzbot reported an issue in ppp_async_encode() [1] In this case, pppoe_sendmsg() is called with a zero size. Then ppp_async_encode() is called with an empty skb. BUG: KMSAN: uninit-value in ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline] BUG: KMSAN: uninit-value in ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675 ppp_async_encode drivers/net/ppp/ppp_async.c:545 [inline] ppp_async_push+0xb4f/0x2660 drivers/net/ppp/ppp_async.c:675 ppp_async_send+0x130/0x1b0 drivers/net/ppp/ppp_async.c:634 ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2280 [inline] ppp_input+0x1f1/0xe60 drivers/net/ppp/ppp_generic.c:2304 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:4092 [inline] slab_alloc_node mm/slub.c:4135 [inline] kmem_cache_alloc_node_noprof+0x6bf/0xb80 mm/slub.c:4187 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: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024

AI-Powered Analysis

AILast updated: 06/28/2025, 16:39:31 UTC

Technical Analysis

CVE-2024-50035 is a vulnerability identified in the Linux kernel's Point-to-Point Protocol (PPP) implementation, specifically within the asynchronous PPP encoding function ppp_async_encode(). The issue arises when the function pppoe_sendmsg() is called with a zero size, which subsequently leads to ppp_async_encode() being invoked with an empty socket buffer (skb). This sequence results in the use of uninitialized memory values within the ppp_async_encode() and ppp_async_push() functions, as detected by Kernel Memory Sanitizer (KMSAN). The root cause is an illegal memory access due to uninitialized data usage, which can cause kernel instability or crashes. The vulnerability was reported by syzbot, an automated kernel bug-finding tool, and affects Linux kernel versions including the 6.12.0-rc1 release candidate. The detailed kernel call stack shows the flow from pppoe_sendmsg() through various PPP-related functions, highlighting the memory allocation and skb handling paths where the uninitialized memory is introduced. Although no CVSS score has been assigned yet, the vulnerability is significant because it involves kernel-level memory corruption, which can potentially be exploited to cause denial of service or escalate privileges if combined with other vulnerabilities. However, exploitation requires triggering specific PPPoE (PPP over Ethernet) message sending with crafted parameters, which may limit the attack surface to systems actively using PPPoE networking.

Potential Impact

For European organizations, the impact of CVE-2024-50035 depends largely on the deployment of Linux systems utilizing PPPoE connections. PPPoE is commonly used in broadband internet access, especially in DSL environments, which remain prevalent in parts of Europe. A successful exploitation could lead to kernel crashes causing denial of service, potentially disrupting network connectivity and critical services. In environments where PPPoE is used for VPNs or other secure tunnels, this vulnerability could undermine network reliability. Although there is no evidence of active exploitation, the kernel memory corruption could be leveraged in multi-stage attacks to gain elevated privileges or execute arbitrary code, posing a risk to confidentiality and integrity. European sectors such as telecommunications, ISPs, and enterprises relying on Linux-based network infrastructure are particularly at risk. The vulnerability could also affect embedded Linux devices used in network equipment, increasing the scope of impact. Given the critical role of Linux in European IT infrastructure, unpatched systems could face operational disruptions and increased attack surface.

Mitigation Recommendations

To mitigate CVE-2024-50035, European organizations should prioritize updating Linux kernels to versions where this vulnerability is patched. Since the issue is in the PPP asynchronous encoding code, disabling or limiting the use of PPPoE interfaces where feasible can reduce exposure. Network administrators should audit their environments to identify systems using PPPoE and assess the necessity of this protocol. Employing kernel hardening techniques such as Kernel Address Sanitizer (KASAN) and Kernel Memory Sanitizer (KMSAN) during testing phases can help detect similar issues proactively. Additionally, implementing strict network segmentation and firewall rules to restrict PPPoE traffic to trusted sources can limit exploitation opportunities. Monitoring kernel logs for unusual PPPoE activity and crashes can provide early detection of attempted exploitation. For embedded devices or appliances running vulnerable Linux kernels, vendors should be contacted for firmware updates or mitigations. Finally, organizations should maintain robust incident response plans to quickly address any kernel-level compromises.

Need more detailed analysis?Get Pro

Technical Details

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

Threat ID: 682d9824c4522896dcbdfd6e

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

Last enriched: 6/28/2025, 4:39:31 PM

Last updated: 8/11/2025, 1:48:12 PM

Views: 15

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