Skip to main content

CVE-2024-26793: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-26793cvecve-2024-26793
Published: Thu Apr 04 2024 (04/04/2024, 08:20:23 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: gtp: fix use-after-free and null-ptr-deref in gtp_newlink() The gtp_link_ops operations structure for the subsystem must be registered after registering the gtp_net_ops pernet operations structure. Syzkaller hit 'general protection fault in gtp_genl_dump_pdp' bug: [ 1010.702740] gtp: GTP module unloaded [ 1010.715877] general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] SMP KASAN NOPTI [ 1010.715888] KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] [ 1010.715895] CPU: 1 PID: 128616 Comm: a.out Not tainted 6.8.0-rc6-std-def-alt1 #1 [ 1010.715899] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.0-alt1 04/01/2014 [ 1010.715908] RIP: 0010:gtp_newlink+0x4d7/0x9c0 [gtp] [ 1010.715915] Code: 80 3c 02 00 0f 85 41 04 00 00 48 8b bb d8 05 00 00 e8 ed f6 ff ff 48 89 c2 48 89 c5 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 4f 04 00 00 4c 89 e2 4c 8b 6d 00 48 b8 00 00 00 [ 1010.715920] RSP: 0018:ffff888020fbf180 EFLAGS: 00010203 [ 1010.715929] RAX: dffffc0000000000 RBX: ffff88800399c000 RCX: 0000000000000000 [ 1010.715933] RDX: 0000000000000001 RSI: ffffffff84805280 RDI: 0000000000000282 [ 1010.715938] RBP: 000000000000000d R08: 0000000000000001 R09: 0000000000000000 [ 1010.715942] R10: 0000000000000001 R11: 0000000000000001 R12: ffff88800399cc80 [ 1010.715947] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000400 [ 1010.715953] FS: 00007fd1509ab5c0(0000) GS:ffff88805b300000(0000) knlGS:0000000000000000 [ 1010.715958] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 1010.715962] CR2: 0000000000000000 CR3: 000000001c07a000 CR4: 0000000000750ee0 [ 1010.715968] PKRU: 55555554 [ 1010.715972] Call Trace: [ 1010.715985] ? __die_body.cold+0x1a/0x1f [ 1010.715995] ? die_addr+0x43/0x70 [ 1010.716002] ? exc_general_protection+0x199/0x2f0 [ 1010.716016] ? asm_exc_general_protection+0x1e/0x30 [ 1010.716026] ? gtp_newlink+0x4d7/0x9c0 [gtp] [ 1010.716034] ? gtp_net_exit+0x150/0x150 [gtp] [ 1010.716042] __rtnl_newlink+0x1063/0x1700 [ 1010.716051] ? rtnl_setlink+0x3c0/0x3c0 [ 1010.716063] ? is_bpf_text_address+0xc0/0x1f0 [ 1010.716070] ? kernel_text_address.part.0+0xbb/0xd0 [ 1010.716076] ? __kernel_text_address+0x56/0xa0 [ 1010.716084] ? unwind_get_return_address+0x5a/0xa0 [ 1010.716091] ? create_prof_cpu_mask+0x30/0x30 [ 1010.716098] ? arch_stack_walk+0x9e/0xf0 [ 1010.716106] ? stack_trace_save+0x91/0xd0 [ 1010.716113] ? stack_trace_consume_entry+0x170/0x170 [ 1010.716121] ? __lock_acquire+0x15c5/0x5380 [ 1010.716139] ? mark_held_locks+0x9e/0xe0 [ 1010.716148] ? kmem_cache_alloc_trace+0x35f/0x3c0 [ 1010.716155] ? __rtnl_newlink+0x1700/0x1700 [ 1010.716160] rtnl_newlink+0x69/0xa0 [ 1010.716166] rtnetlink_rcv_msg+0x43b/0xc50 [ 1010.716172] ? rtnl_fdb_dump+0x9f0/0x9f0 [ 1010.716179] ? lock_acquire+0x1fe/0x560 [ 1010.716188] ? netlink_deliver_tap+0x12f/0xd50 [ 1010.716196] netlink_rcv_skb+0x14d/0x440 [ 1010.716202] ? rtnl_fdb_dump+0x9f0/0x9f0 [ 1010.716208] ? netlink_ack+0xab0/0xab0 [ 1010.716213] ? netlink_deliver_tap+0x202/0xd50 [ 1010.716220] ? netlink_deliver_tap+0x218/0xd50 [ 1010.716226] ? __virt_addr_valid+0x30b/0x590 [ 1010.716233] netlink_unicast+0x54b/0x800 [ 1010.716240] ? netlink_attachskb+0x870/0x870 [ 1010.716248] ? __check_object_size+0x2de/0x3b0 [ 1010.716254] netlink_sendmsg+0x938/0xe40 [ 1010.716261] ? netlink_unicast+0x800/0x800 [ 1010.716269] ? __import_iovec+0x292/0x510 [ 1010.716276] ? netlink_unicast+0x800/0x800 [ 1010.716284] __sock_sendmsg+0x159/0x190 [ 1010.716290] ____sys_sendmsg+0x712/0x880 [ 1010.716297] ? sock_write_iter+0x3d0/0x3d0 [ 1010.716304] ? __ia32_sys_recvmmsg+0x270/0x270 [ 1010.716309] ? lock_acquire+0x1fe/0x560 [ 1010.716315] ? drain_array_locked+0x90/0x90 [ 1010.716324] ___sys_sendmsg+0xf8/0x170 [ 1010.716331] ? sendmsg_copy_msghdr+0x170/0x170 [ 1010.716337] ? lockdep_init_map ---truncated---

AI-Powered Analysis

AILast updated: 06/29/2025, 18:42:18 UTC

Technical Analysis

CVE-2024-26793 is a vulnerability identified in the Linux kernel's GPRS Tunneling Protocol (GTP) subsystem, specifically within the gtp_newlink() function. The flaw involves a use-after-free and null pointer dereference condition that occurs due to improper ordering in the registration of the gtp_link_ops operations structure relative to the gtp_net_ops per-network operations structure. This vulnerability was discovered through fuzz testing with Syzkaller, which triggered a general protection fault and kernel crash due to dereferencing invalid or null pointers. The kernel logs indicate a general protection fault caused by a non-canonical address and a null pointer dereference within the GTP module, leading to a kernel panic and potential denial of service. The GTP protocol is primarily used in mobile networks to tunnel user data and control messages between network nodes, such as between the Radio Access Network and the core network. The vulnerability could be exploited by an attacker with the ability to interact with the GTP subsystem, potentially causing kernel crashes or arbitrary code execution depending on the exploitation complexity. The vulnerability affects specific Linux kernel versions identified by commit hashes, and no CVSS score has been assigned yet. No known exploits are reported in the wild at this time. The issue was resolved by correcting the registration order of the GTP operations structures to prevent the use-after-free and null pointer dereference conditions.

Potential Impact

For European organizations, this vulnerability poses a significant risk especially to telecom operators, mobile network infrastructure providers, and any enterprises running Linux-based systems that handle GTP traffic. Exploitation could lead to denial of service via kernel crashes, disrupting mobile data services and potentially impacting critical communications infrastructure. This could affect mobile network operators' ability to maintain service continuity, impacting end users and enterprise customers relying on mobile connectivity. Additionally, if exploited for arbitrary code execution, attackers could gain kernel-level privileges, compromising confidentiality and integrity of sensitive data processed on affected systems. Given the widespread use of Linux in telecom equipment and network appliances across Europe, the vulnerability could have broad implications for network stability and security. Organizations relying on Linux-based network functions virtualization (NFV) or software-defined networking (SDN) components that implement GTP may also be at risk. The lack of known exploits currently reduces immediate risk but does not eliminate the potential for future targeted attacks.

Mitigation Recommendations

European organizations should prioritize applying the official Linux kernel patches that address this vulnerability by correcting the registration order in the GTP subsystem. Network operators should audit their Linux kernel versions against the affected commits and upgrade to patched versions promptly. For environments where immediate patching is not feasible, mitigating controls include isolating GTP processing components, restricting access to GTP interfaces to trusted network segments, and monitoring kernel logs for signs of crashes or abnormal behavior related to GTP. Implementing kernel hardening techniques such as Kernel Address Sanitizer (KASAN) and enabling kernel lockdown features can help detect and prevent exploitation attempts. Telecom operators should also engage with their equipment vendors to ensure firmware and software updates incorporate these fixes. Continuous monitoring of threat intelligence feeds for emerging exploits targeting this vulnerability is recommended to enable rapid response. Finally, conducting penetration testing focused on GTP protocol handling can help identify residual risks in deployed systems.

Need more detailed analysis?Get Pro

Technical Details

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

Threat ID: 682d982bc4522896dcbe3c02

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

Last enriched: 6/29/2025, 6:42:18 PM

Last updated: 8/6/2025, 1:45:58 PM

Views: 18

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