Skip to main content

CVE-2024-46858: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-46858cvecve-2024-46858
Published: Fri Sep 27 2024 (09/27/2024, 12:42:49 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: mptcp: pm: Fix uaf in __timer_delete_sync There are two paths to access mptcp_pm_del_add_timer, result in a race condition: CPU1 CPU2 ==== ==== net_rx_action napi_poll netlink_sendmsg __napi_poll netlink_unicast process_backlog netlink_unicast_kernel __netif_receive_skb genl_rcv __netif_receive_skb_one_core netlink_rcv_skb NF_HOOK genl_rcv_msg ip_local_deliver_finish genl_family_rcv_msg ip_protocol_deliver_rcu genl_family_rcv_msg_doit tcp_v4_rcv mptcp_pm_nl_flush_addrs_doit tcp_v4_do_rcv mptcp_nl_remove_addrs_list tcp_rcv_established mptcp_pm_remove_addrs_and_subflows tcp_data_queue remove_anno_list_by_saddr mptcp_incoming_options mptcp_pm_del_add_timer mptcp_pm_del_add_timer kfree(entry) In remove_anno_list_by_saddr(running on CPU2), after leaving the critical zone protected by "pm.lock", the entry will be released, which leads to the occurrence of uaf in the mptcp_pm_del_add_timer(running on CPU1). Keeping a reference to add_timer inside the lock, and calling sk_stop_timer_sync() with this reference, instead of "entry->add_timer". Move list_del(&entry->list) to mptcp_pm_del_add_timer and inside the pm lock, do not directly access any members of the entry outside the pm lock, which can avoid similar "entry->x" uaf.

AI-Powered Analysis

AILast updated: 06/28/2025, 18:55:33 UTC

Technical Analysis

CVE-2024-46858 is a use-after-free (UAF) vulnerability identified in the Linux kernel's Multipath TCP (MPTCP) path manager component. The flaw arises due to a race condition between two concurrent CPU execution paths accessing and modifying the same timer entry object without proper synchronization. Specifically, the vulnerability occurs in the function mptcp_pm_del_add_timer, which is called from different kernel contexts running on separate CPUs. One CPU path executes a sequence of network-related functions culminating in the deletion of a timer entry via kfree(entry), while another CPU path concurrently removes the same entry from a list after releasing the protecting lock (pm.lock). This improper handling leads to the possibility that one CPU frees the memory of the timer entry while the other CPU still attempts to access it, resulting in a use-after-free condition. The root cause is the lack of holding a reference to the timer inside the lock and improper ordering of list deletion and memory freeing operations. The fix involves keeping a reference to the timer within the lock, calling sk_stop_timer_sync() with this reference, moving list_del(&entry->list) inside the lock, and avoiding access to entry members outside the lock. This vulnerability affects Linux kernel versions identified by the given commit hashes and impacts systems using MPTCP, a protocol extension that allows multiple TCP paths for a single connection, commonly used to improve redundancy and throughput. Although no known exploits are reported in the wild yet, the vulnerability could be triggered by crafted network traffic that manipulates MPTCP path management, potentially leading to kernel memory corruption, system instability, or privilege escalation.

Potential Impact

For European organizations, the impact of CVE-2024-46858 could be significant, especially for those relying on Linux-based infrastructure that employs MPTCP for network resilience or performance optimization. Exploitation of this vulnerability could lead to kernel memory corruption resulting in denial of service (system crashes or reboots), data integrity issues, or potentially privilege escalation if an attacker can execute arbitrary code in kernel space. Critical infrastructure sectors such as telecommunications, financial services, cloud service providers, and government agencies that deploy Linux servers with MPTCP enabled are at heightened risk. The vulnerability's exploitation could disrupt services, cause data loss, or enable attackers to gain persistent footholds within networks. Given the widespread use of Linux in European data centers and embedded systems, the threat surface is broad. However, exploitation requires triggering specific race conditions in kernel code paths related to MPTCP, which may limit the ease of exploitation to skilled attackers with network access. Nonetheless, the potential for impact on confidentiality, integrity, and availability of systems is high if exploited.

Mitigation Recommendations

European organizations should promptly apply the official Linux kernel patches that address CVE-2024-46858 once available from their Linux distribution vendors. Until patches are deployed, organizations should consider the following mitigations: 1) Disable MPTCP functionality if it is not required, as this reduces the attack surface by eliminating the vulnerable code path. 2) Implement strict network segmentation and firewall rules to limit exposure of systems running vulnerable Linux kernels to untrusted networks, thereby reducing the risk of remote exploitation. 3) Monitor kernel logs and network traffic for unusual activity related to MPTCP path management or timer operations that could indicate exploitation attempts. 4) Employ kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and Kernel Page Table Isolation (KPTI) to mitigate exploitation impact. 5) Maintain up-to-date intrusion detection and prevention systems capable of detecting anomalous network behavior targeting MPTCP. 6) Conduct thorough testing of kernel updates in staging environments to ensure stability before production deployment. These targeted mitigations go beyond generic advice by focusing on the specific vulnerable component (MPTCP) and the race condition nature of the flaw.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-09-11T15:12:18.291Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9825c4522896dcbe0366

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

Last enriched: 6/28/2025, 6:55:33 PM

Last updated: 7/25/2025, 11:47:35 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