CVE-2025-21973: eth: bnxt: fix kernel panic in the bnxt_get_queue_stats{rx | tx}

Published Apr 1, 2025
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

eth: bnxt: fix kernel panic in the bnxtgetqueuestats{rx | tx}

When qstats-get operation is executed, callbacks of netdevstatsops are called. The bnxtgetqueuestats{rx | tx} collect per-queue stats from swstats in the rings. But {rx | tx | cp}ring are allocated when the interface is up. So, these rings are not allocated when the interface is down.

The qstats-get is allowed even if the interface is down. However, the bnxtgetqueuestats{rx | tx}() accesses cpring and txring without null check. So, it needs to avoid accessing rings if the interface is down.

Reproducer: ip link set $interface down ./cli.py --spec netdev.yaml --dump qstats-get OR ip link set $interface down python ./stats.py

Splat looks like: BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page PGD 1680fa067 P4D 1680fa067 PUD 16be3b067 PMD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 0 UID: 0 PID: 1495 Comm: python3 Not tainted 6.14.0-rc4+ #32 5cd0f999d5a15c574ac72b3e4b907341 Hardware name: ASUS System Product Name/PRIME Z690-P D4, BIOS 0603 11/01/2021 RIP: 0010:bnxtgetqueuestatsrx+0xf/0x70 [bnxten] Code: c6 87 b5 18 00 00 02 eb a2 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 01 RSP: 0018:ffffabef43cdb7e0 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffffffffc04c8710 RCX: 0000000000000000 RDX: ffffabef43cdb858 RSI: 0000000000000000 RDI: ffff8d504e850000 RBP: ffff8d506c9f9c00 R08: 0000000000000004 R09: ffff8d506bcd901c R10: 0000000000000015 R11: ffff8d506bcd9000 R12: 0000000000000000 R13: ffffabef43cdb8c0 R14: ffff8d504e850000 R15: 0000000000000000 FS: 00007f2c5462b080(0000) GS:ffff8d575f600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000167fd0000 CR4: 00000000007506f0 PKRU: 55555554 Call Trace: <TASK> ? die+0x20/0x70 ? pagefaultoops+0x15a/0x460 ? schedbalancefindsrcgroup+0x58d/0xd10 ? excpagefault+0x6e/0x180 ? asmexcpagefault+0x22/0x30 ? bnxtgetqueuestatsrx+0xf/0x70 [bnxten cdd546fd48563c280cfd30e9647efa420db07bf1] netdevnlstatsbynetdev+0x2b1/0x4e0 ? xasload+0x9/0xb0 ? xasfind+0x183/0x1d0 ? xafind+0x8b/0xe0 netdevnlqstatsgetdumpit+0xbf/0x1e0 genldumpit+0x31/0x90 netlinkdump+0x1a8/0x360

Affected Software

14 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=6.9<6.12.20
Linux Linux kernel>=6.13<6.13.8
Linux Linux kernel=6.14-rc1
Linux Linux kernel=6.14-rc2
Linux Linux kernel=6.14-rc3
Linux Linux kernel=6.14-rc4
Linux Linux kernel=6.14-rc5
Linux Linux kernel=6.14-rc6
debian/linux<6.12.20-1
6.12.20-1
debian/linux<6.12.20-1
6.12.20-1
linux/kernel>=6.9.0<6.12.20
6.12.20
linux/kernel>=6.13.0<6.13.8
6.13.8
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.12.20-1
  2. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.12.20
  3. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.13.8
  4. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.15-1
  5. Compensating control

    Avoid accessing cp_ring and tx_ring, including qstats-get per-queue statistics, while the network interface is down because these rings are not allocated in that state.

Event History

Apr 1, 2025
CVE Published
via MITRE·03:47 PM
Data Sourced
via MITRE·03:47 PM
Description
Data Sourced
via OSV·03:47 PM
DescriptionAffected Software
Data Sourced
via NVD·04:15 PM
RemedyDescriptionSeverityAffected Software
Data Sourced
via OSV·04:15 PM
Severity

Frequently Asked Questions

1

What is the severity of CVE-2025-21973?

CVE-2025-21973 has been classified as a medium severity vulnerability.

2

How do I fix CVE-2025-21973?

To fix CVE-2025-21973, update the Linux kernel to version 6.14.0-rc5 or later where this vulnerability has been resolved.

3

What systems are affected by CVE-2025-21973?

CVE-2025-21973 affects the Linux Kernel version 6.14.0-rc4 and earlier.

4

What type of vulnerability is CVE-2025-21973?

CVE-2025-21973 is categorized as a kernel panic vulnerability in network statistics operations.

5

Can CVE-2025-21973 be exploited remotely?

CVE-2025-21973 does not indicate a remote exploitation vector, as it relates to local operations.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203