Skip to main content

CVE-2024-35934: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-35934cvecve-2024-35934
Published: Sun May 19 2024 (05/19/2024, 10:10:41 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list() Many syzbot reports show extreme rtnl pressure, and many of them hint that smc acquires rtnl in netns creation for no good reason [1] This patch returns early from smc_pnet_net_init() if there is no netdevice yet. I am not even sure why smc_pnet_create_pnetids_list() even exists, because smc_pnet_netdev_event() is also calling smc_pnet_add_base_pnetid() when handling NETDEV_UP event. [1] extract of typical syzbot reports 2 locks held by syz-executor.3/12252: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.4/12253: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.1/12257: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.2/12261: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.0/12265: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.3/12268: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.4/12271: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.1/12274: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878 2 locks held by syz-executor.2/12280: #0: ffffffff8f369610 (pernet_ops_rwsem){++++}-{3:3}, at: copy_net_ns+0x4c7/0x7b0 net/core/net_namespace.c:491 #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_create_pnetids_list net/smc/smc_pnet.c:809 [inline] #1: ffffffff8f375b88 (rtnl_mutex){+.+.}-{3:3}, at: smc_pnet_net_init+0x10a/0x1e0 net/smc/smc_pnet.c:878

AI-Powered Analysis

AILast updated: 06/29/2025, 08:24:43 UTC

Technical Analysis

CVE-2024-35934 addresses a vulnerability in the Linux kernel's SMC (Shared Memory Communications) subsystem, specifically within the net/smc component. The issue stems from excessive rtnl (RTNL - routing netlink) mutex pressure caused by the function smc_pnet_create_pnetids_list() acquiring the rtnl lock unnecessarily during network namespace creation. This behavior leads to contention and potential performance degradation or deadlocks. The vulnerability was identified through multiple syzbot reports indicating extreme rtnl lock pressure, which can cause system instability or denial of service conditions. The patch modifies smc_pnet_net_init() to return early if no network device is present, thereby avoiding unnecessary rtnl lock acquisition. The root cause appears to be redundant locking since smc_pnet_create_pnetids_list() and smc_pnet_netdev_event() both manage pnet IDs, leading to excessive lock contention. This vulnerability does not directly expose a memory corruption or privilege escalation vector but impacts kernel synchronization primitives, potentially causing system hangs or degraded network stack performance under certain workloads or containerized environments where network namespaces are frequently created and destroyed.

Potential Impact

For European organizations, the impact primarily involves potential system instability or denial of service on Linux systems utilizing the SMC networking feature, especially in environments with heavy containerization or network namespace usage such as cloud providers, data centers, and telecom infrastructure. This could degrade availability of critical services relying on Linux servers, including web hosting, cloud platforms, and network appliances. Although no direct code execution or privilege escalation is reported, the vulnerability could be exploited to cause kernel-level deadlocks or resource exhaustion, impacting service continuity. Organizations with Linux-based infrastructure in sectors like finance, healthcare, and government could face operational disruptions if unpatched systems experience this issue under load. The vulnerability's impact is more operational than confidentiality or integrity related, but availability degradation in critical systems can have significant business consequences.

Mitigation Recommendations

European organizations should prioritize applying the Linux kernel patch that addresses this issue, which involves updating to a kernel version including the fix for CVE-2024-35934. Since the problem relates to kernel locking during network namespace creation, organizations should audit and limit unnecessary network namespace operations where possible. For containerized environments, optimizing container orchestration to reduce frequent network namespace churn can mitigate exposure. Monitoring kernel logs for rtnl lock contention or related kernel warnings can help detect attempts to trigger this condition. Additionally, organizations should ensure robust kernel update policies and test kernel upgrades in staging environments to avoid regressions. If immediate patching is not feasible, consider isolating critical workloads from SMC usage or disabling the SMC feature if not required. Finally, maintain comprehensive backup and recovery plans to mitigate availability impacts from potential system hangs.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-05-17T13:50:33.130Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9828c4522896dcbe21f2

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

Last enriched: 6/29/2025, 8:24:43 AM

Last updated: 7/29/2025, 3:47:14 PM

Views: 9

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