CVE-2022-50307

7.1 HIGH

📋 TL;DR

This CVE-2022-50307 is an out-of-bounds read vulnerability in the Linux kernel's s390/cio subsystem. When devices are removed from the cio_ignore list, the kernel incorrectly accesses memory when checking if devices are online, potentially causing kernel crashes or information disclosure. This affects Linux systems running on IBM s390/zSeries architecture with specific I/O subchannel drivers like vfio_ccw.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux on IBM s390/zSeries architecture
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using non-default I/O subchannel drivers like vfio_ccw. Standard configurations may not be vulnerable.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, or potential information disclosure from kernel memory

🟠

Likely Case

System instability or crashes when managing I/O devices through cio_ignore operations

🟢

If Mitigated

No impact if the vulnerable code path is not triggered

🌐 Internet-Facing: LOW - Requires local access and specific I/O operations
🏢 Internal Only: MEDIUM - Local users or processes could trigger the vulnerability

🎯 Exploit Status

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

Requires local access and ability to write to /proc/cio_ignore. Exploitation depends on specific I/O configuration.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 0e501fd0f38e, 106ab66cf546, 1b6074112742

Vendor Advisory: https://git.kernel.org/stable/c/0e501fd0f38e42304bfa0d46a812d93f80294a87

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Check your distribution's security advisories for specific patched versions. 3. Reboot the system after kernel update.

🔧 Temporary Workarounds

Restrict access to cio_ignore

linux

Limit write access to /proc/cio_ignore to prevent triggering the vulnerability

chmod 644 /proc/cio_ignore
chown root:root /proc/cio_ignore

Avoid using cio_ignore operations

linux

Do not use 'echo free >/proc/cio_ignore' or similar operations that trigger device scanning

🧯 If You Can't Patch

  • Implement strict access controls on /proc/cio_ignore
  • Monitor for system crashes or kernel panics related to I/O operations

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if running on s390 architecture with non-default I/O drivers

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or check with 'uname -r' against patched versions

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Out-of-bounds access errors in kernel logs
  • System crashes during I/O operations

SIEM Query:

source="kernel" AND ("panic" OR "out of bounds" OR "cio_ignore")

🔗 References

📤 Share & Export