Skip to main content

CVE-2024-26857: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-26857cvecve-2024-26857
Published: Wed Apr 17 2024 (04/17/2024, 10:17:19 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: geneve: make sure to pull inner header in geneve_rx() syzbot triggered a bug in geneve_rx() [1] Issue is similar to the one I fixed in commit 8d975c15c0cd ("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()") We have to save skb->network_header in a temporary variable in order to be able to recompute the network_header pointer after a pskb_inet_may_pull() call. pskb_inet_may_pull() makes sure the needed headers are in skb->head. [1] BUG: KMSAN: uninit-value in IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline] BUG: KMSAN: uninit-value in geneve_rx drivers/net/geneve.c:279 [inline] BUG: KMSAN: uninit-value in geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391 IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline] geneve_rx drivers/net/geneve.c:279 [inline] geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391 udp_queue_rcv_one_skb+0x1d39/0x1f20 net/ipv4/udp.c:2108 udp_queue_rcv_skb+0x6ae/0x6e0 net/ipv4/udp.c:2186 udp_unicast_rcv_skb+0x184/0x4b0 net/ipv4/udp.c:2346 __udp4_lib_rcv+0x1c6b/0x3010 net/ipv4/udp.c:2422 udp_rcv+0x7d/0xa0 net/ipv4/udp.c:2604 ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:461 [inline] ip_rcv_finish net/ipv4/ip_input.c:449 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] ip_rcv+0x46f/0x760 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core net/core/dev.c:5534 [inline] __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5648 process_backlog+0x480/0x8b0 net/core/dev.c:5976 __napi_poll+0xe3/0x980 net/core/dev.c:6576 napi_poll net/core/dev.c:6645 [inline] net_rx_action+0x8b8/0x1870 net/core/dev.c:6778 __do_softirq+0x1b7/0x7c5 kernel/softirq.c:553 do_softirq+0x9a/0xf0 kernel/softirq.c:454 __local_bh_enable_ip+0x9b/0xa0 kernel/softirq.c:381 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:820 [inline] __dev_queue_xmit+0x2768/0x51c0 net/core/dev.c:4378 dev_queue_xmit include/linux/netdevice.h:3171 [inline] packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3081 [inline] packet_sendmsg+0x8aef/0x9f10 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] __sys_sendto+0x735/0xa10 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Uninit was created at: slab_post_alloc_hook mm/slub.c:3819 [inline] slab_alloc_node mm/slub.c:3860 [inline] kmem_cache_alloc_node+0x5cb/0xbc0 mm/slub.c:3903 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560 __alloc_skb+0x352/0x790 net/core/skbuff.c:651 alloc_skb include/linux/skbuff.h:1296 [inline] alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6394 sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2783 packet_alloc_skb net/packet/af_packet.c:2930 [inline] packet_snd net/packet/af_packet.c:3024 [inline] packet_sendmsg+0x70c2/0x9f10 net/packet/af_packet.c:3113 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] __sys_sendto+0x735/0xa10 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b

AI-Powered Analysis

AILast updated: 06/29/2025, 19:27:25 UTC

Technical Analysis

CVE-2024-26857 is a medium-severity vulnerability in the Linux kernel affecting the geneve network tunneling driver. The issue arises from improper handling of the skb->network_header pointer within the geneve_rx() function. Specifically, the vulnerability is due to failure to save the original network header pointer before calling pskb_inet_may_pull(), which ensures that the required packet headers are present in the skb->head buffer. Without preserving this pointer, subsequent operations may reference uninitialized or incorrect memory regions, leading to undefined behavior. This was identified by syzbot through kernel memory sanitizer (KMSAN) warnings indicating uninitialized value usage in geneve_rx and related functions. The vulnerability is similar to a previously fixed issue in the IPv6 tunnel code where the inner header was not properly pulled and the network header pointer was not correctly recomputed. The impact of this bug is primarily on availability, as it can trigger kernel bugs or crashes when processing geneve-encapsulated packets. The vulnerability requires local privileges (AV:L) and low complexity (AC:L) to exploit, with no user interaction needed (UI:N). It does not impact confidentiality or integrity but can cause denial of service (DoS) by crashing the kernel or network stack. The affected versions are specific Linux kernel commits identified by the given hashes. No known exploits are reported in the wild yet, and no direct patch links are provided in the data. The CVSS v3.1 score is 5.5 (medium), reflecting the limited scope and impact of the vulnerability. The vulnerability is relevant to systems using geneve tunnels, which are commonly employed in network virtualization and overlay networks, especially in cloud and container environments.

Potential Impact

For European organizations, the primary impact of CVE-2024-26857 is the potential for denial of service on Linux systems that utilize geneve tunnels for network virtualization or overlay networking. This includes cloud service providers, data centers, and enterprises running container orchestration platforms like Kubernetes that leverage geneve for network encapsulation. A successful exploitation could cause kernel crashes or network outages, disrupting critical services and impacting availability. While the vulnerability does not expose data or allow privilege escalation, the resulting service interruptions could affect business continuity and operational efficiency. Organizations with complex virtualized network infrastructures or those heavily reliant on Linux-based network functions are at higher risk. Given the requirement for local privileges, attackers would need some level of access to the system, which means this vulnerability could be chained with other exploits or insider threats. The lack of known exploits reduces immediate risk, but timely patching is important to prevent potential future attacks. The impact is more pronounced in environments with high network traffic using geneve tunnels, such as cloud providers and telecom operators in Europe.

Mitigation Recommendations

1. Apply the latest Linux kernel updates that include the fix for CVE-2024-26857 as soon as they become available from your Linux distribution vendor. Monitor vendor advisories closely. 2. If immediate patching is not possible, consider disabling geneve tunnel support temporarily if it is not critical to your network operations. 3. Restrict local access to Linux systems running geneve tunnels to trusted users only, minimizing the risk of local exploitation. 4. Implement strict network segmentation and monitoring to detect abnormal kernel crashes or network disruptions that could indicate exploitation attempts. 5. Use kernel hardening features such as Kernel Address Sanitizer (KASAN) and Kernel Memory Sanitizer (KMSAN) in test environments to detect similar issues proactively. 6. Review and audit container and virtualization configurations to ensure geneve tunnels are used securely and only where necessary. 7. Employ intrusion detection systems (IDS) and endpoint detection and response (EDR) solutions capable of identifying kernel-level anomalies or crashes related to network packet processing.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-19T14:20:24.183Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682d982bc4522896dcbe3dae

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

Last enriched: 6/29/2025, 7:27:25 PM

Last updated: 8/15/2025, 8:41:11 AM

Views: 11

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