CVE-2022-48926·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: rndis: add spinlock for rndis response list There's no lock for rndis response list. It could cause list corruption if there're two different list_add at the same time like below. It's better to add in rndis_add_response / rndis_free_response / rndis_get_next_response to prevent any race condition on response list. [ 361.894299] [1: irq/191-dwc3:16979] list_add corruption. next->prev should be prev (ffffff80651764d0), but was ffffff883dc36f80. (next=ffffff80651764d0). [ 361.904380] [1: irq/191-dwc3:16979] Call trace: [ 361.904391] [1: irq/191-dwc3:16979] __list_add_valid+0x74/0x90 [ 361.904401] [1: irq/191-dwc3:16979] rndis_msg_parser+0x168/0x8c0 [ 361.904409] [1: irq/191-dwc3:16979] rndis_command_complete+0x24/0x84 [ 361.904417] [1: irq/191-dwc3:16979] usb_gadget_giveback_request+0x20/0xe4 [ 361.904426] [1: irq/191-dwc3:16979] dwc3_gadget_giveback+0x44/0x60 [ 361.904434] [1: irq/191-dwc3:16979] dwc3_ep0_complete_data+0x1e8/0x3a0 [ 361.904442] [1: irq/191-dwc3:16979] dwc3_ep0_interrupt+0x29c/0x3dc [ 361.904450] [1: irq/191-dwc3:16979] dwc3_process_event_entry+0x78/0x6cc [ 361.904457] [1: irq/191-dwc3:16979] dwc3_process_event_buf+0xa0/0x1ec [ 361.904465] [1: irq/191-dwc3:16979] dwc3_thread_interrupt+0x34/0x5c
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.16.12
- Published
- 2024-08-22
Affected versions
From: 5.16
Until: 5.16.12
Fixed in: 5.16.12
How to fix this CVE
Update your Linux kernel to version 5.16.12 or later to patch a critical race condition in the USB RNDIS gadget driver. This vulnerability causes memory corruption when concurrent list operations occur without proper synchronization, potentially leading to kernel crashes or privilege escalation. Apply the kernel update through your distribution's package manager and reboot your system.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Run `uname -r` to check your current kernel version; if it is between 5.16.0 and 5.16.11, your system is vulnerable.
- Check if USB gadget RNDIS functionality is enabled by running `grep -i rndis /boot/config-$(uname -r)` or `modprobe -l | grep rndis`; if RNDIS is loaded, the vulnerability is exposed.
- Search system logs for list corruption errors: `sudo journalctl -b | grep -i 'list_add corruption'` or `sudo grep 'list_add corruption' /var/log/kern.log` to identify exploitation attempts.
- Verify the patched version is running with `uname -r` after applying updates; confirm it shows 5.16.12 or higher.
FAQ
What is CVE-2022-48926?
CVE-2022-48926 is a race condition vulnerability in the Linux kernel's USB RNDIS gadget driver where concurrent operations on the response list lack proper locking, causing memory corruption and potential kernel panic or privilege escalation.
Is CVE-2022-48926 being actively exploited?
No, CVE-2022-48926 is not actively exploited in the wild according to CISA data, and no public exploits are available. However, it remains a high-severity vulnerability that should be patched promptly.
What versions of Kernel are affected by CVE-2022-48926?
Linux kernel versions 5.16.0 through 5.16.11 are vulnerable; kernel 5.16.12 and later versions contain the fix.
How do I check if my server is vulnerable to CVE-2022-48926?
Run `uname -r` to display your kernel version; if it outputs a version between 5.16.0 and 5.16.11, your system is vulnerable.
Does Defensia detect CVE-2022-48926?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2022-48926 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/33222d1571d7ce8c1c75f6b488f38968fa93d2d9
- https://git.kernel.org/stable/c/4ce247af3f30078d5b97554f1ae6200a0222c15a
- https://git.kernel.org/stable/c/669c2b178956718407af5631ccbc61c24413f038
- https://git.kernel.org/stable/c/9ab652d41deab49848673c3dadb57ad338485376
- https://git.kernel.org/stable/c/9f5d8ba538ef81cd86ea587ca3f8c77e26bea405
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48926. Free for 1 server.
Get started free