Skip to main content

CVE-2024-26614: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-26614cvecve-2024-26614
Published: Thu Feb 29 2024 (02/29/2024, 15:52:18 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: tcp: make sure init the accept_queue's spinlocks once When I run syz's reproduction C program locally, it causes the following issue: pvqspinlock: lock 0xffff9d181cd5c660 has corrupted value 0x0! WARNING: CPU: 19 PID: 21160 at __pv_queued_spin_unlock_slowpath (kernel/locking/qspinlock_paravirt.h:508) Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 RIP: 0010:__pv_queued_spin_unlock_slowpath (kernel/locking/qspinlock_paravirt.h:508) Code: 73 56 3a ff 90 c3 cc cc cc cc 8b 05 bb 1f 48 01 85 c0 74 05 c3 cc cc cc cc 8b 17 48 89 fe 48 c7 c7 30 20 ce 8f e8 ad 56 42 ff <0f> 0b c3 cc cc cc cc 0f 0b 0f 1f 40 00 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffa8d200604cb8 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff9d1ef60e0908 RDX: 00000000ffffffd8 RSI: 0000000000000027 RDI: ffff9d1ef60e0900 RBP: ffff9d181cd5c280 R08: 0000000000000000 R09: 00000000ffff7fff R10: ffffa8d200604b68 R11: ffffffff907dcdc8 R12: 0000000000000000 R13: ffff9d181cd5c660 R14: ffff9d1813a3f330 R15: 0000000000001000 FS: 00007fa110184640(0000) GS:ffff9d1ef60c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000000 CR3: 000000011f65e000 CR4: 00000000000006f0 Call Trace: <IRQ> _raw_spin_unlock (kernel/locking/spinlock.c:186) inet_csk_reqsk_queue_add (net/ipv4/inet_connection_sock.c:1321) inet_csk_complete_hashdance (net/ipv4/inet_connection_sock.c:1358) tcp_check_req (net/ipv4/tcp_minisocks.c:868) tcp_v4_rcv (net/ipv4/tcp_ipv4.c:2260) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:205) ip_local_deliver_finish (net/ipv4/ip_input.c:234) __netif_receive_skb_one_core (net/core/dev.c:5529) process_backlog (./include/linux/rcupdate.h:779) __napi_poll (net/core/dev.c:6533) net_rx_action (net/core/dev.c:6604) __do_softirq (./arch/x86/include/asm/jump_label.h:27) do_softirq (kernel/softirq.c:454 kernel/softirq.c:441) </IRQ> <TASK> __local_bh_enable_ip (kernel/softirq.c:381) __dev_queue_xmit (net/core/dev.c:4374) ip_finish_output2 (./include/net/neighbour.h:540 net/ipv4/ip_output.c:235) __ip_queue_xmit (net/ipv4/ip_output.c:535) __tcp_transmit_skb (net/ipv4/tcp_output.c:1462) tcp_rcv_synsent_state_process (net/ipv4/tcp_input.c:6469) tcp_rcv_state_process (net/ipv4/tcp_input.c:6657) tcp_v4_do_rcv (net/ipv4/tcp_ipv4.c:1929) __release_sock (./include/net/sock.h:1121 net/core/sock.c:2968) release_sock (net/core/sock.c:3536) inet_wait_for_connect (net/ipv4/af_inet.c:609) __inet_stream_connect (net/ipv4/af_inet.c:702) inet_stream_connect (net/ipv4/af_inet.c:748) __sys_connect (./include/linux/file.h:45 net/socket.c:2064) __x64_sys_connect (net/socket.c:2073 net/socket.c:2070 net/socket.c:2070) do_syscall_64 (arch/x86/entry/common.c:51 arch/x86/entry/common.c:82) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:129) RIP: 0033:0x7fa10ff05a3d Code: 5b 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ab a3 0e 00 f7 d8 64 89 01 48 RSP: 002b:00007fa110183de8 EFLAGS: 00000202 ORIG_RAX: 000000000000002a RAX: ffffffffffffffda RBX: 0000000020000054 RCX: 00007fa10ff05a3d RDX: 000000000000001c RSI: 0000000020000040 RDI: 0000000000000003 RBP: 00007fa110183e20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 00007fa110184640 R13: 0000000000000000 R14: 00007fa10fe8b060 R15: 00007fff73e23b20 </TASK> The issue triggering process is analyzed as follows: Thread A Thread B tcp_v4_rcv //receive ack TCP packet inet_shutdown tcp_check_req tcp_disconnect //disconnect sock ... tcp_set_state(sk, TCP_CLOSE) inet_csk_complete_hashdance ... inet_csk_reqsk_queue_add ---truncated---

AI-Powered Analysis

AILast updated: 06/29/2025, 21:13:03 UTC

Technical Analysis

CVE-2024-26614 is a medium-severity vulnerability in the Linux kernel related to improper initialization of spinlocks in the TCP accept queue. Specifically, the vulnerability arises because the accept_queue's spinlocks are not properly initialized once, leading to potential corruption of the queued spinlock's internal state. This can cause kernel warnings and instability, as demonstrated by the reproduction using syz's C program, which triggers a corrupted spinlock value and kernel warnings in the __pv_queued_spin_unlock_slowpath function. The vulnerability manifests during concurrent TCP connection handling, particularly involving the interaction between threads processing TCP ACK packets and socket shutdown/disconnect operations. The race condition occurs between tcp_v4_rcv (handling incoming TCP packets) and inet_shutdown/tcp_disconnect (handling socket closure), where the accept queue's spinlock can become corrupted due to improper synchronization. This can lead to kernel crashes or denial of service (DoS) conditions due to kernel panic or instability. The vulnerability affects Linux kernel versions identified by the commit hash 168a8f58059a22feb9e9a2dcc1b8053dbbbc12ef and similar versions prior to patching. The CVSS 3.1 score is 5.5 (medium), reflecting that exploitation requires local privileges with low complexity, no user interaction, and impacts availability only (no confidentiality or integrity impact). No known exploits are currently reported in the wild. The root cause is a concurrency issue in the TCP networking stack's spinlock handling, which is critical for maintaining kernel stability under concurrent network operations.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to servers and infrastructure running vulnerable Linux kernel versions, especially those handling high volumes of TCP connections such as web servers, application servers, and network appliances. Exploitation could lead to denial of service through kernel crashes, impacting availability of critical services. This is particularly concerning for sectors relying on Linux-based systems for critical infrastructure, including finance, telecommunications, healthcare, and government services. While the vulnerability does not directly compromise confidentiality or integrity, the resulting service disruption could have cascading effects on business operations and service level agreements. Organizations using virtualized environments (e.g., KVM on Red Hat) may also be affected, as indicated by the hardware environment in the reproduction. Given the medium severity and local privilege requirement, the threat is more relevant in scenarios where attackers have some level of access to the system, such as compromised user accounts or insider threats. However, the potential for kernel panics and system instability warrants prompt attention to prevent service outages and maintain operational continuity.

Mitigation Recommendations

1. Apply the official Linux kernel patches that address CVE-2024-26614 as soon as they become available from trusted sources such as the Linux kernel mailing list, distribution vendors (e.g., Red Hat, Debian, Ubuntu), or security advisories. 2. For organizations using Red Hat or other enterprise Linux distributions, monitor vendor security bulletins and update kernels via supported package management systems promptly. 3. Restrict local access to systems running vulnerable kernels to trusted users only, minimizing the risk of local exploitation. 4. Implement robust monitoring of kernel logs and system stability metrics to detect early signs of kernel warnings or crashes related to spinlock corruption. 5. Use kernel live patching solutions where available to apply fixes without requiring full system reboots, reducing downtime. 6. Harden system security by employing mandatory access controls (e.g., SELinux, AppArmor) and limiting the ability of unprivileged users to execute or inject code that could trigger the vulnerability. 7. In virtualized environments, ensure hypervisor and guest kernel versions are updated to mitigate cross-layer impacts. 8. Conduct thorough testing of kernel updates in staging environments to verify stability before production deployment.

Need more detailed analysis?Get Pro

Technical Details

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

Threat ID: 682d982bc4522896dcbe41bb

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

Last enriched: 6/29/2025, 9:13:03 PM

Last updated: 8/18/2025, 9:09:39 AM

Views: 10

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