CVE-2022-50295

5.5 MEDIUM

📋 TL;DR

This is a NULL pointer dereference vulnerability in the Linux kernel's io_uring subsystem that allows local attackers to cause a kernel panic (denial of service) by triggering a crash in the io_msg_send_fd() function. It affects Linux systems with vulnerable kernel versions where io_uring is enabled. The vulnerability requires local access to exploit.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Linux kernel versions before the fix commit 0163e04ea64cc3dfaa12390286e5f2f481c3b2e3 (backported to stable branches)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires CONFIG_IO_URING=y and io_uring functionality enabled. Most modern Linux distributions have this enabled by default.

📦 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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local attacker causes kernel panic leading to system crash and denial of service, potentially requiring physical or remote console access to reboot.

🟠

Likely Case

Local user or process triggers kernel panic resulting in system crash and temporary unavailability.

🟢

If Mitigated

System remains stable with proper access controls preventing unauthorized local users from exploiting the vulnerability.

🌐 Internet-Facing: LOW - Requires local access to exploit, cannot be triggered remotely.
🏢 Internal Only: MEDIUM - Local users or compromised processes could crash the system, but requires specific io_uring operations.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires local access and knowledge of io_uring operations. The vulnerability was discovered through fuzzing (syzkaller).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel commit 0163e04ea64cc3dfaa12390286e5f2f481c3b2e3 and backports to stable branches

Vendor Advisory: https://git.kernel.org/stable/c/0163e04ea64cc3dfaa12390286e5f2f481c3b2e3

Restart Required: Yes

Instructions:

1. Update to a patched kernel version from your distribution vendor. 2. Reboot the system to load the new kernel. 3. Verify the fix is applied by checking kernel version.

🔧 Temporary Workarounds

Disable io_uring module

Linux

Prevent loading of the io_uring kernel module to mitigate the vulnerability

echo 'blacklist io_uring' >> /etc/modprobe.d/blacklist-io_uring.conf
rmmod io_uring

🧯 If You Can't Patch

  • Restrict local user access to prevent unauthorized users from running io_uring operations
  • Implement strict process isolation and containerization to limit impact scope

🔍 How to Verify

Check if Vulnerable:

Check kernel version and compare with patched versions from your distribution. Vulnerable if using kernel versions before the fix commit.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commit 0163e04ea64cc3dfaa12390286e5f2f481c3b2e3 or later

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in system logs
  • NULL pointer dereference errors in kernel logs
  • System crash/reboot events

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("NULL pointer dereference" OR "Kernel panic" OR "io_msg_send_fd")

🔗 References

📤 Share & Export