Skip to main content

CVE-2024-36889: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-36889cvecve-2024-36889
Published: Thu May 30 2024 (05/30/2024, 15:28:56 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: mptcp: ensure snd_nxt is properly initialized on connect Christoph reported a splat hinting at a corrupted snd_una: WARNING: CPU: 1 PID: 38 at net/mptcp/protocol.c:1005 __mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005 Modules linked in: CPU: 1 PID: 38 Comm: kworker/1:1 Not tainted 6.9.0-rc1-gbbeac67456c9 #59 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.11.0-2.el7 04/01/2014 Workqueue: events mptcp_worker RIP: 0010:__mptcp_clean_una+0x4b3/0x620 net/mptcp/protocol.c:1005 Code: be 06 01 00 00 bf 06 01 00 00 e8 a8 12 e7 fe e9 00 fe ff ff e8 8e 1a e7 fe 0f b7 ab 3e 02 00 00 e9 d3 fd ff ff e8 7d 1a e7 fe <0f> 0b 4c 8b bb e0 05 00 00 e9 74 fc ff ff e8 6a 1a e7 fe 0f 0b e9 RSP: 0018:ffffc9000013fd48 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff8881029bd280 RCX: ffffffff82382fe4 RDX: ffff8881003cbd00 RSI: ffffffff823833c3 RDI: 0000000000000001 RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: fefefefefefefeff R12: ffff888138ba8000 R13: 0000000000000106 R14: ffff8881029bd908 R15: ffff888126560000 FS: 0000000000000000(0000) GS:ffff88813bd00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f604a5dae38 CR3: 0000000101dac002 CR4: 0000000000170ef0 Call Trace: <TASK> __mptcp_clean_una_wakeup net/mptcp/protocol.c:1055 [inline] mptcp_clean_una_wakeup net/mptcp/protocol.c:1062 [inline] __mptcp_retrans+0x7f/0x7e0 net/mptcp/protocol.c:2615 mptcp_worker+0x434/0x740 net/mptcp/protocol.c:2767 process_one_work+0x1e0/0x560 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x3c7/0x640 kernel/workqueue.c:3416 kthread+0x121/0x170 kernel/kthread.c:388 ret_from_fork+0x44/0x50 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 </TASK> When fallback to TCP happens early on a client socket, snd_nxt is not yet initialized and any incoming ack will copy such value into snd_una. If the mptcp worker (dumbly) tries mptcp-level re-injection after such ack, that would unconditionally trigger a send buffer cleanup using 'bad' snd_una values. We could easily disable re-injection for fallback sockets, but such dumb behavior already helped catching a few subtle issues and a very low to zero impact in practice. Instead address the issue always initializing snd_nxt (and write_seq, for consistency) at connect time.

AI-Powered Analysis

AILast updated: 06/29/2025, 09:55:18 UTC

Technical Analysis

CVE-2024-36889 is a vulnerability identified in the Linux kernel's implementation of Multipath TCP (MPTCP), specifically related to the initialization of the snd_nxt variable during connection setup. MPTCP is an extension of TCP that allows multiple paths to be used simultaneously between two endpoints, improving redundancy and throughput. The vulnerability arises because when a fallback to standard TCP occurs early on a client socket, snd_nxt (the next sequence number to send) is not properly initialized. Consequently, any incoming acknowledgment (ACK) may copy an uninitialized snd_nxt value into snd_una (the oldest unacknowledged sequence number). If the MPTCP worker then attempts to perform retransmissions or reinjections at the MPTCP level using these corrupted snd_una values, it triggers an improper cleanup of the send buffer. This can lead to kernel warnings and potentially unstable behavior, as indicated by the kernel stack trace and warning messages reported by Christoph. The root cause is that snd_nxt and related sequence variables are not initialized at connect time for fallback sockets, leading to corrupted state during retransmission logic. The fix involves ensuring that snd_nxt and write_seq are properly initialized during connection establishment, preventing the propagation of invalid sequence numbers and avoiding the send buffer corruption. Although the vulnerability can cause kernel warnings and potentially disrupt MPTCP operations, the impact is considered low to zero in practice because the fallback sockets are rare and the behavior does not typically lead to system crashes or remote code execution. No known exploits are reported in the wild, and the vulnerability does not require user interaction or authentication to manifest but depends on specific MPTCP fallback scenarios. This vulnerability affects Linux kernel versions containing the faulty commit hashes listed, and it was publicly disclosed on May 30, 2024.

Potential Impact

For European organizations, the impact of CVE-2024-36889 is primarily related to network reliability and stability rather than direct security compromise. Organizations relying on Linux servers or network appliances that utilize MPTCP for enhanced network performance or redundancy could experience kernel warnings, degraded network performance, or unexpected retransmission behavior. This could affect critical infrastructure, cloud service providers, telecommunications, and enterprises with complex network topologies. While the vulnerability does not appear to allow privilege escalation or remote code execution, the instability in network stack behavior could lead to service interruptions or degraded quality of service. In sectors such as finance, healthcare, and critical infrastructure where Linux-based systems are prevalent, even minor disruptions can have operational consequences. However, given the low practical impact and absence of known exploits, the threat level is moderate. Organizations using Linux kernels with MPTCP enabled should be aware of this issue, especially if fallback to TCP is common in their network environment.

Mitigation Recommendations

1. Apply the official Linux kernel patches that initialize snd_nxt and write_seq properly during connection setup. Monitor Linux kernel updates and deploy them promptly. 2. Audit network configurations to identify if MPTCP is enabled and assess the frequency of fallback to TCP scenarios. If MPTCP is not required, consider disabling it to reduce attack surface. 3. Monitor kernel logs for warnings related to __mptcp_clean_una and related functions to detect potential exploitation or instability. 4. Test kernel updates in staging environments to ensure stability of MPTCP operations post-patch. 5. For critical systems, implement network redundancy and failover mechanisms independent of MPTCP to mitigate potential disruptions. 6. Engage with Linux distribution vendors for backported patches if using long-term support kernels. 7. Educate network and system administrators about this vulnerability to improve incident response readiness.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-05-30T15:25:07.065Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9828c4522896dcbe259e

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

Last enriched: 6/29/2025, 9:55:18 AM

Last updated: 8/3/2025, 6:45:31 PM

Views: 13

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