CVE-2022-48715·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe Running tests with a debug kernel shows that bnx2fc_recv_frame() is modifying the per_cpu lport stats counters in a non-mpsafe way. Just boot a debug kernel and run the bnx2fc driver with the hardware enabled. [ 1391.699147] BUG: using smp_processor_id() in preemptible [00000000] code: bnx2fc_ [ 1391.699160] caller is bnx2fc_recv_frame+0xbf9/0x1760 [bnx2fc] [ 1391.699174] CPU: 2 PID: 4355 Comm: bnx2fc_l2_threa Kdump: loaded Tainted: G B [ 1391.699180] Hardware name: HP ProLiant DL120 G7, BIOS J01 07/01/2013 [ 1391.699183] Call Trace: [ 1391.699188] dump_stack_lvl+0x57/0x7d [ 1391.699198] check_preemption_disabled+0xc8/0xd0 [ 1391.699205] bnx2fc_recv_frame+0xbf9/0x1760 [bnx2fc] [ 1391.699215] ? do_raw_spin_trylock+0xb5/0x180 [ 1391.699221] ? bnx2fc_npiv_create_vports.isra.0+0x4e0/0x4e0 [bnx2fc] [ 1391.699229] ? bnx2fc_l2_rcv_thread+0xb7/0x3a0 [bnx2fc] [ 1391.699240] bnx2fc_l2_rcv_thread+0x1af/0x3a0 [bnx2fc] [ 1391.699250] ? bnx2fc_ulp_init+0xc0/0xc0 [bnx2fc] [ 1391.699258] kthread+0x364/0x420 [ 1391.699263] ? _raw_spin_unlock_irq+0x24/0x50 [ 1391.699268] ? set_kthread_struct+0x100/0x100 [ 1391.699273] ret_from_fork+0x22/0x30 Restore the old get_cpu/put_cpu code with some modifications to reduce the size of the critical section.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.16.8
- Published
- 2024-06-20
Affected versions
From: 5.16
Until: 5.16.8
Fixed in: 5.16.8
How to fix this CVE
Update your Linux kernel to version 5.16.8 or later to resolve a race condition in the bnx2fc driver's frame reception handler. The vulnerability causes unsafe per-CPU statistics counter modifications in preemptible code contexts, which can lead to kernel warnings and potential system instability. Apply the kernel update through your distribution's package manager and reboot the affected system.
sudo dnf update kernel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version by running: uname -r
- Verify if bnx2fc driver is loaded with: lsmod | grep bnx2fc
- Search kernel logs for preemption warnings related to bnx2fc: sudo dmesg | grep -i 'bnx2fc\|smp_processor_id'
- Confirm the fix is applied by verifying kernel version is 5.16.8 or later: uname -r | awk -F. '{print ($1>5 || ($1==5 && $2>16) || ($1==5 && $2==16 && $3>=8))}'
- Check if bnx2fc module was recompiled post-update: sudo modinfo bnx2fc | grep vermagic
FAQ
What is CVE-2022-48715?
CVE-2022-48715 is a race condition vulnerability in the Linux kernel's Broadcom NetXtreme II Fibre Channel (bnx2fc) driver where per-CPU statistics counters are modified unsafely from preemptible code contexts, triggering kernel warnings and potential data corruption.
Is CVE-2022-48715 being actively exploited?
No, CVE-2022-48715 is not listed in CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. The vulnerability primarily causes denial of service through kernel warnings rather than remote code execution.
What versions of Kernel are affected by CVE-2022-48715?
Linux kernel versions 5.16 through 5.16.7 are vulnerable. The issue was patched in kernel version 5.16.8 and later.
How do I check if my server is vulnerable to CVE-2022-48715?
Run 'uname -r' to check your kernel version. If it returns 5.16.x with x < 8, and 'lsmod | grep bnx2fc' shows the driver is loaded, your system is vulnerable and requires updating.
Does Defensia detect CVE-2022-48715?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server running versions 5.16.0 through 5.16.7, CVE-2022-48715 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/003bcee66a8f0e76157eb3af369c173151901d97
- https://git.kernel.org/stable/c/2d24336c7214b281b51860e54783dfc65f1248df
- https://git.kernel.org/stable/c/2f5a1ac68bdf2899ce822ab845081922ea8c588e
- https://git.kernel.org/stable/c/3a345198a7c2d1db2526dc60b77052f75de019d3
- https://git.kernel.org/stable/c/471085571f926a1fe6b1bed095638994dbf23990
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48715. Free for 1 server.
Get started free