Skip to main content

CVE-2025-21960: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2025-21960cvecve-2025-21960
Published: Tue Apr 01 2025 (04/01/2025, 15:46:58 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: eth: bnxt: do not update checksum in bnxt_xdp_build_skb() The bnxt_rx_pkt() updates ip_summed value at the end if checksum offload is enabled. When the XDP-MB program is attached and it returns XDP_PASS, the bnxt_xdp_build_skb() is called to update skb_shared_info. The main purpose of bnxt_xdp_build_skb() is to update skb_shared_info, but it updates ip_summed value too if checksum offload is enabled. This is actually duplicate work. When the bnxt_rx_pkt() updates ip_summed value, it checks if ip_summed is CHECKSUM_NONE or not. It means that ip_summed should be CHECKSUM_NONE at this moment. But ip_summed may already be updated to CHECKSUM_UNNECESSARY in the XDP-MB-PASS path. So the by skb_checksum_none_assert() WARNS about it. This is duplicate work and updating ip_summed in the bnxt_xdp_build_skb() is not needed. Splat looks like: WARNING: CPU: 3 PID: 5782 at ./include/linux/skbuff.h:5155 bnxt_rx_pkt+0x479b/0x7610 [bnxt_en] Modules linked in: bnxt_re bnxt_en rdma_ucm rdma_cm iw_cm ib_cm ib_uverbs veth xt_nat xt_tcpudp xt_conntrack nft_chain_nat xt_MASQUERADE nf_] CPU: 3 UID: 0 PID: 5782 Comm: socat Tainted: G W 6.14.0-rc4+ #27 Tainted: [W]=WARN Hardware name: ASUS System Product Name/PRIME Z690-P D4, BIOS 0603 11/01/2021 RIP: 0010:bnxt_rx_pkt+0x479b/0x7610 [bnxt_en] Code: 54 24 0c 4c 89 f1 4c 89 ff c1 ea 1f ff d3 0f 1f 00 49 89 c6 48 85 c0 0f 84 4c e5 ff ff 48 89 c7 e8 ca 3d a0 c8 e9 8f f4 ff ff <0f> 0b f RSP: 0018:ffff88881ba09928 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 00000000c7590303 RCX: 0000000000000000 RDX: 1ffff1104e7d1610 RSI: 0000000000000001 RDI: ffff8881c91300b8 RBP: ffff88881ba09b28 R08: ffff888273e8b0d0 R09: ffff888273e8b070 R10: ffff888273e8b010 R11: ffff888278b0f000 R12: ffff888273e8b080 R13: ffff8881c9130e00 R14: ffff8881505d3800 R15: ffff888273e8b000 FS: 00007f5a2e7be080(0000) GS:ffff88881ba00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fff2e708ff8 CR3: 000000013e3b0000 CR4: 00000000007506f0 PKRU: 55555554 Call Trace: <IRQ> ? __warn+0xcd/0x2f0 ? bnxt_rx_pkt+0x479b/0x7610 ? report_bug+0x326/0x3c0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x14/0x50 ? asm_exc_invalid_op+0x16/0x20 ? bnxt_rx_pkt+0x479b/0x7610 ? bnxt_rx_pkt+0x3e41/0x7610 ? __pfx_bnxt_rx_pkt+0x10/0x10 ? napi_complete_done+0x2cf/0x7d0 __bnxt_poll_work+0x4e8/0x1220 ? __pfx___bnxt_poll_work+0x10/0x10 ? __pfx_mark_lock.part.0+0x10/0x10 bnxt_poll_p5+0x36a/0xfa0 ? __pfx_bnxt_poll_p5+0x10/0x10 __napi_poll.constprop.0+0xa0/0x440 net_rx_action+0x899/0xd00 ... Following ping.py patch adds xdp-mb-pass case. so ping.py is going to be able to reproduce this issue.

AI-Powered Analysis

AILast updated: 06/30/2025, 11:12:06 UTC

Technical Analysis

CVE-2025-21960 is a vulnerability identified in the Linux kernel's Broadcom NetXtreme (bnxt) network driver, specifically within the handling of checksum offloading in the bnxt_xdp_build_skb() function. The issue arises due to redundant updates of the ip_summed field in socket buffer (skb) structures when the XDP-MB (eXpress Data Path - Multi Buffer) program is attached and returns XDP_PASS. Normally, the bnxt_rx_pkt() function updates the ip_summed value at the end of packet processing if checksum offload is enabled, expecting ip_summed to be CHECKSUM_NONE initially. However, bnxt_xdp_build_skb() also updates ip_summed prematurely to CHECKSUM_UNNECESSARY, causing a conflict and triggering kernel warnings (WARN_ON) through skb_checksum_none_assert(). This redundant update can lead to kernel warnings and potentially cause kernel panics (splat) due to invalid operations, as evidenced by the detailed kernel stack trace provided. The vulnerability does not appear to be exploitable for remote code execution or privilege escalation directly but can cause denial of service (DoS) through kernel crashes when specific network traffic triggers the condition. The issue is rooted in a logic flaw in checksum state management within the bnxt driver when XDP-MB programs are used, which are increasingly common for high-performance packet processing. The vulnerability affects Linux kernel versions containing the specified commit hashes and is resolved by removing the unnecessary ip_summed update in bnxt_xdp_build_skb(). No known exploits are reported in the wild as of publication. The vulnerability is technical and specific to systems using Broadcom NetXtreme network cards with XDP-MB enabled, which are often found in data centers and enterprise environments.

Potential Impact

For European organizations, the primary impact of CVE-2025-21960 is the risk of denial of service on Linux servers utilizing Broadcom NetXtreme network adapters with XDP-MB enabled. This can lead to unexpected kernel panics and system crashes, resulting in service outages, degraded network performance, and potential disruption of critical infrastructure. Organizations relying on Linux-based networking equipment, cloud infrastructure, or high-performance computing clusters that leverage XDP for packet processing are particularly at risk. The vulnerability does not directly expose data confidentiality or integrity but affects availability, which can have cascading effects on business operations, especially in sectors like finance, telecommunications, and public services. Additionally, troubleshooting and remediation efforts may require downtime and technical expertise, increasing operational costs. Since XDP is used to accelerate packet processing, environments using this feature for network security monitoring or load balancing might experience instability, impacting security posture and network reliability.

Mitigation Recommendations

To mitigate CVE-2025-21960, European organizations should: 1) Apply the latest Linux kernel updates that include the fix removing the redundant ip_summed update in the bnxt driver. 2) Audit and monitor systems using Broadcom NetXtreme network cards to identify if XDP-MB programs are in use, and temporarily disable XDP-MB if kernel updates cannot be immediately applied. 3) Implement kernel crash monitoring and alerting to detect early signs of the vulnerability being triggered. 4) Test kernel updates in staging environments to ensure compatibility with existing XDP programs and network configurations. 5) Collaborate with hardware vendors to confirm firmware and driver compatibility with patched kernels. 6) For critical systems, consider network segmentation to isolate affected hosts and reduce the attack surface. 7) Maintain up-to-date backups and incident response plans to recover quickly from potential outages caused by this vulnerability. These steps go beyond generic advice by focusing on the specific driver and feature involved, emphasizing proactive detection and controlled deployment of patches.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-29T08:45:45.795Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9833c4522896dcbe8d3a

Added to database: 5/21/2025, 9:09:07 AM

Last enriched: 6/30/2025, 11:12:06 AM

Last updated: 8/18/2025, 11:28:12 PM

Views: 16

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