CVE-2025-21885·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: RDMA/bnxt_re: Fix the page details for the srq created by kernel consumers While using nvme target with use_srq on, below kernel panic is noticed. [ 549.698111] bnxt_en 0000:41:00.0 enp65s0np0: FEC autoneg off encoding: Clause 91 RS(544,514) [ 566.393619] Oops: divide error: 0000 [#1] PREEMPT SMP NOPTI .. [ 566.393799] <TASK> [ 566.393807] ? __die_body+0x1a/0x60 [ 566.393823] ? die+0x38/0x60 [ 566.393835] ? do_trap+0xe4/0x110 [ 566.393847] ? bnxt_qplib_alloc_init_hwq+0x1d4/0x580 [bnxt_re] [ 566.393867] ? bnxt_qplib_alloc_init_hwq+0x1d4/0x580 [bnxt_re] [ 566.393881] ? do_error_trap+0x7c/0x120 [ 566.393890] ? bnxt_qplib_alloc_init_hwq+0x1d4/0x580 [bnxt_re] [ 566.393911] ? exc_divide_error+0x34/0x50 [ 566.393923] ? bnxt_qplib_alloc_init_hwq+0x1d4/0x580 [bnxt_re] [ 566.393939] ? asm_exc_divide_error+0x16/0x20 [ 566.393966] ? bnxt_qplib_alloc_init_hwq+0x1d4/0x580 [bnxt_re] [ 566.393997] bnxt_qplib_create_srq+0xc9/0x340 [bnxt_re] [ 566.394040] bnxt_re_create_srq+0x335/0x3b0 [bnxt_re] [ 566.394057] ? srso_return_thunk+0x5/0x5f [ 566.394068] ? __init_swait_queue_head+0x4a/0x60 [ 566.394090] ib_create_srq_user+0xa7/0x150 [ib_core] [ 566.394147] nvmet_rdma_queue_connect+0x7d0/0xbe0 [nvmet_rdma] [ 566.394174] ? lock_release+0x22c/0x3f0 [ 566.394187] ? srso_return_thunk+0x5/0x5f Page size and shift info is set only for the user space SRQs. Set page size and page shift for kernel space SRQs also.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.13.6
- Published
- 2025-03-27
Affected versions
From: 6.13
Until: 6.13.6
Fixed in: 6.13.6
How to fix this CVE
Update your Linux kernel to version 6.13.6 or later to resolve this divide-by-zero error in the RDMA bnxt_re driver. The vulnerability occurs when NVMe target mode is enabled with SRQ (Shared Receive Queue) functionality, causing kernel panics during SRQ allocation. Apply the kernel update immediately to systems running kernel versions 6.13.0 through 6.13.5.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your current kernel version: uname -r
- Verify if bnxt_re (Broadcom RDMA) driver is loaded: lsmod | grep bnxt_re
- Check for NVMe target configuration: cat /sys/kernel/config/nvmet/*/subsystems/*/use_srq 2>/dev/null || echo 'NVMe target not configured'
- Inspect kernel logs for divide error panics: dmesg | grep -i 'divide error\|bnxt_qplib_alloc_init_hwq'
- Verify kernel update: uname -r should show version 6.13.6 or later after patching
FAQ
What is CVE-2025-21885?
This is a divide-by-zero vulnerability in the Linux kernel's RDMA bnxt_re driver that occurs when kernel consumers (such as NVMe target) create Shared Receive Queues (SRQ) without proper page size initialization, leading to kernel panics and system instability.
Is CVE-2025-21885 being actively exploited?
No, this vulnerability is not listed on CISA's Known Exploited Vulnerabilities (KEV) catalog and no public exploits are available. However, it can be triggered reliably by administrators running NVMe target with SRQ enabled.
What versions of Kernel are affected by CVE-2025-21885?
Linux kernel versions 6.13.0 through 6.13.5 are affected. The vulnerability was patched in kernel 6.13.6.
How do I check if my server is vulnerable to CVE-2025-21885?
Run 'uname -r' to check your kernel version. If it shows 6.13.0 through 6.13.5, and you have bnxt_re driver loaded (verify with 'lsmod | grep bnxt_re'), your system is vulnerable if NVMe target SRQ is in use.
Does Defensia detect CVE-2025-21885?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Linux kernel is installed on a monitored server, CVE-2025-21885 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2025-21885. Free for 1 server.
Get started free