CVE-2022-50282
📋 TL;DR
A race condition vulnerability in the Linux kernel's cdev_device_add() function can cause a kernel panic when device registration fails. This affects Linux systems with character device drivers, potentially causing denial of service. The vulnerability requires local access to trigger.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
Kernel panic leading to system crash and denial of service, requiring physical or remote console access to reboot.
Likely Case
Local denial of service through kernel panic when fault injection or specific error conditions occur during device registration.
If Mitigated
Minor system instability that might require reboot if triggered by legitimate device failures.
🎯 Exploit Status
Requires local access and ability to trigger specific error conditions during device registration. Fault injection testing discovered this.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel versions with commits 11fa7fefe3d8, 28dc61cc49c6, 34d17b39bcee, 5d2146889fad, or 6acf8597c5b0
Vendor Advisory: https://git.kernel.org/stable/c/11fa7fefe3d8fac7da56bc9aa3dd5fb3081ca797
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version from your distribution. 2. For custom kernels, apply the fix commit to your kernel source. 3. Reboot system to load new kernel.
🔧 Temporary Workarounds
No practical workaround
allThis is a kernel-level race condition that requires code fix. No configuration changes can mitigate it.
🧯 If You Can't Patch
- Restrict local user access to systems where possible
- Monitor for kernel panic events and have reboot procedures ready
🔍 How to Verify
Check if Vulnerable:
Check kernel version: uname -r and compare with distribution's patched versions. Vulnerable if before fix commits.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version after update matches patched version from your distribution vendor.
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- Warnings about kobject_put() on uninitialized objects
- System crash/reboot events
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("kobject_put" OR "panic" OR "Oops")
🔗 References
- https://git.kernel.org/stable/c/11fa7fefe3d8fac7da56bc9aa3dd5fb3081ca797
- https://git.kernel.org/stable/c/28dc61cc49c6e995121c6d86bef4b73df78dda80
- https://git.kernel.org/stable/c/34d17b39bceef25e4cf9805cd59250ae05d0a139
- https://git.kernel.org/stable/c/5d2146889fad4cb9e6c13e790d4cfd871486eca8
- https://git.kernel.org/stable/c/6acf8597c5b04f455ee0649e11e5f3bcd28f381e
- https://git.kernel.org/stable/c/85a5660491b507d33662b8e81c142e6041e642eb
- https://git.kernel.org/stable/c/b5de1eac71fec1af7723f1083d23a24789fd795c
- https://git.kernel.org/stable/c/c46db6088bccff5115674d583fef46ede80077a2
- https://git.kernel.org/stable/c/d85b5247a79355b8432bfd9ac871f96117f750d4