Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-21960— eth: bnxt: do not update checksum in bnxt_xdp_build_skb()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bnxt驱动重复更新校验和状态。

CVSS 7.5 · High EPSS 0.52% · P44

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 1dc4c557bfedfcdf7fc0c46795857773b7ad66e7< e8e3e03d69f2420eaa578199a65d281c58867105 affected
1dc4c557bfedfcdf7fc0c46795857773b7ad66e7< ee086c8e775f9690282e3d26471dbcfd5dad5a6a affected
1dc4c557bfedfcdf7fc0c46795857773b7ad66e7< 5b57ed14a1b85e7ab0074d9668a0baa6c94826c7 affected
1dc4c557bfedfcdf7fc0c46795857773b7ad66e7< 44578bc6460b8fca530fc7bd5897c115d9bd27e2 affected
1dc4c557bfedfcdf7fc0c46795857773b7ad66e7< c03e7d05aa0e2f7e9a9ce5ad8a12471a53f941dc affected
5.19 affected
< 5.19 unaffected
6.1.132≤ 6.1.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21960

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
eth: bnxt: do not update checksum in bnxt_xdp_build_skb()
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于bnxt驱动重复更新校验和状态。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 1dc4c557bfedfcdf7fc0c46795857773b7ad66e7 ~ e8e3e03d69f2420eaa578199a65d281c58867105 -
Linux Linux 5.19 -

II. Public POCs for CVE-2025-21960

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21960

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-04-01 · 93 CVEs total

CVE-2025-21954 9.8 CRITICAL netmem: prevent TX of unreadable skbs
CVE-2025-21927 9.8 CRITICAL nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu()
CVE-2025-21955 8.8 HIGH ksmbd: prevent connection release during oplock break notification
CVE-2025-21946 8.8 HIGH ksmbd: fix out-of-bounds in parse_sec_desc()
CVE-2025-21945 8.8 HIGH ksmbd: fix use-after-free in smb2_lock
CVE-2025-21969 8.8 HIGH Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd
CVE-2025-21967 8.8 HIGH ksmbd: fix use-after-free in ksmbd_free_work_struct
CVE-2025-21972 8.8 HIGH net: mctp: unshare packets when reassembling
CVE-2025-21947 8.1 HIGH ksmbd: fix type confusion via race condition when using ipc_msg_send_request
CVE-2025-21896 7.8 HIGH fuse: revert back to __readahead_folio() for readahead
CVE-2025-21971 7.8 HIGH net_sched: Prevent creation of classes with TC_H_ROOT
CVE-2025-21899 7.8 HIGH tracing: Fix bad hist from corrupting named_triggers list
CVE-2025-21979 7.8 HIGH wifi: cfg80211: cancel wiphy_work before freeing wiphy
CVE-2025-21926 7.8 HIGH net: gso: fix ownership in __udp_gso_segment
CVE-2025-21966 7.8 HIGH dm-flakey: Fix memory corruption in optional corrupt_bio_byte feature
CVE-2025-21965 7.8 HIGH sched_ext: Validate prev_cpu in scx_bpf_select_cpu_dfl()
CVE-2025-21934 7.8 HIGH rapidio: fix an API misues when rio_add_net() fails
CVE-2025-21939 7.8 HIGH drm/xe/hmm: Don't dereference struct page pointers without notifier lock
CVE-2025-21958 7.8 HIGH Revert "openvswitch: switch to per-action label counting in conntrack"
CVE-2025-21949 7.8 HIGH LoongArch: Set hugetlb mmap base address aligned with pmd size

Showing top 20 of 93 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21960

No comments yet


Leave a comment