Skip to main content

CVE-2024-56694: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-56694cvecve-2024-56694
Published: Sat Dec 28 2024 (12/28/2024, 09:46:18 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: fix recursive lock when verdict program return SK_PASS When the stream_verdict program returns SK_PASS, it places the received skb into its own receive queue, but a recursive lock eventually occurs, leading to an operating system deadlock. This issue has been present since v6.9. ''' sk_psock_strp_data_ready write_lock_bh(&sk->sk_callback_lock) strp_data_ready strp_read_sock read_sock -> tcp_read_sock strp_recv cb.rcv_msg -> sk_psock_strp_read # now stream_verdict return SK_PASS without peer sock assign __SK_PASS = sk_psock_map_verd(SK_PASS, NULL) sk_psock_verdict_apply sk_psock_skb_ingress_self sk_psock_skb_ingress_enqueue sk_psock_data_ready read_lock_bh(&sk->sk_callback_lock) <= dead lock ''' This topic has been discussed before, but it has not been fixed. Previous discussion: https://lore.kernel.org/all/6684a5864ec86_403d20898@john.notmuch

AI-Powered Analysis

AILast updated: 06/27/2025, 22:42:14 UTC

Technical Analysis

CVE-2024-56694 is a vulnerability in the Linux kernel related to the Berkeley Packet Filter (BPF) subsystem, specifically involving the handling of stream verdict programs that return SK_PASS. The vulnerability arises when the stream_verdict program returns SK_PASS, which causes the received socket buffer (skb) to be placed into its own receive queue. This process triggers a recursive locking condition on the socket's callback lock (sk_callback_lock). The sequence of function calls leading to the deadlock involves multiple layers of socket and TCP read operations, culminating in a write lock being acquired and then a read lock being requested on the same lock, causing an operating system deadlock. This deadlock effectively halts processing on the affected socket, potentially freezing network communication or other kernel operations relying on this mechanism. The issue has been present since Linux kernel version 6.9 and was only recently fixed. The vulnerability does not require any peer socket assignment when SK_PASS is returned, which contributes to the recursive lock scenario. No known exploits are reported in the wild at this time, and no CVSS score has been assigned yet. The vulnerability is technical and low-level, affecting the kernel's networking stack and BPF subsystem, which is widely used for packet filtering, monitoring, and network security functions.

Potential Impact

For European organizations, the impact of CVE-2024-56694 could be significant, especially for those relying heavily on Linux-based infrastructure for networking, cloud services, and security appliances. The deadlock caused by this vulnerability can lead to denial of service (DoS) conditions at the kernel level, potentially disrupting critical network services, data flows, and application availability. Organizations using Linux kernels version 6.9 or later that have not applied the patch are at risk of system hangs or degraded network performance. This could affect data centers, telecom providers, cloud service operators, and enterprises with Linux-based firewalls or monitoring tools that utilize BPF programs. The deadlock could also complicate incident response and recovery efforts, as kernel-level hangs often require system reboots. While no active exploitation is known, the vulnerability's presence in the kernel networking stack means that attackers with the ability to influence BPF programs or network traffic could trigger the deadlock, leading to service interruptions. This risk is particularly relevant for sectors with high availability requirements such as finance, healthcare, and critical infrastructure within Europe.

Mitigation Recommendations

To mitigate CVE-2024-56694, European organizations should prioritize updating their Linux kernels to versions that include the fix for this vulnerability. Since the issue is kernel-level, applying vendor-provided security patches or upgrading to the latest stable kernel release that addresses this problem is essential. Organizations should audit their use of BPF programs, especially those implementing stream verdicts returning SK_PASS, to identify any custom or third-party code that might trigger the deadlock. Network administrators should monitor kernel logs and system behavior for signs of deadlocks or hangs related to socket callbacks. Implementing kernel live patching solutions where available can reduce downtime during patch deployment. Additionally, limiting the ability of untrusted users or processes to load or manipulate BPF programs can reduce the attack surface. For environments where immediate patching is not feasible, temporarily disabling or restricting BPF stream verdict programs may be considered, though this could impact functionality. Finally, organizations should incorporate this vulnerability into their incident response plans, preparing for potential DoS scenarios caused by kernel deadlocks.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-27T15:00:39.849Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9820c4522896dcbdd160

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

Last enriched: 6/27/2025, 10:42:14 PM

Last updated: 8/13/2025, 5:48:05 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