CVE-2023-52980

7.8 HIGH

📋 TL;DR

This CVE describes an integer overflow vulnerability in the Linux kernel's ublk driver that can lead to out-of-bounds memory access. When configuring ublk devices with large queue depths (>2728), the queue_size calculation overflows, causing the kernel to reference incorrect memory locations. This affects Linux systems using the ublk driver for block device virtualization.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Linux kernel versions with ublk driver support up to the fix
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when ublk driver is enabled and devices are configured with queue depth >2728. Most systems don't use ublk 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 →

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, system crash, or potential privilege escalation leading to full system compromise through memory corruption.

🟠

Likely Case

System instability, kernel crashes, or denial of service when ublk devices are configured with large queue depths.

🟢

If Mitigated

No impact if ublk driver is not used or queue depths are kept below 2728.

🌐 Internet-Facing: LOW - Requires local access and specific ublk configuration.
🏢 Internal Only: MEDIUM - Could be exploited by local users or through container escape scenarios in multi-tenant environments.

🎯 Exploit Status

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

Requires local access and ability to configure ublk devices with specific parameters. Not trivial to exploit for privilege escalation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 29baef789c838bd5c02f50c88adbbc6b955aaf61 and ee1e3fe4b4579f856997190a00ea4db0307b4332

Vendor Advisory: https://git.kernel.org/stable/c/29baef789c838bd5c02f50c88adbbc6b955aaf61

Restart Required: No

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager (apt/yum/dnf) to update kernel package. 3. Reboot to load new kernel if not using kexec or livepatch.

🔧 Temporary Workarounds

Limit ublk queue depth

all

Configure ublk devices with queue depth ≤2728 to avoid triggering the overflow

# When creating ublk devices, ensure queue_depth parameter ≤2728
ublk add -t null -q 2728 ...

Disable ublk driver

all

Remove or blacklist ublk driver if not needed

# Blacklist ublk module
echo 'blacklist ublk_drv' > /etc/modprobe.d/ublk-blacklist.conf
# Rebuild initramfs if needed
update-initramfs -u

🧯 If You Can't Patch

  • Disable ublk driver module loading
  • Implement strict access controls to prevent unauthorized ublk device configuration

🔍 How to Verify

Check if Vulnerable:

Check if ublk driver is loaded and devices configured with queue depth >2728: lsmod | grep ublk; check /sys/block/ublk*/queue_depth

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commits: grep -q '29baef789c838bd5c02f50c88adbbc6b955aaf61\|ee1e3fe4b4579f856997190a00ea4db0307b4332' /proc/version_signature

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages mentioning ublk
  • System crashes when configuring ublk devices
  • dmesg errors related to memory corruption or out-of-bounds access

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("ublk" OR "out of bounds" OR "general protection fault")

🔗 References

📤 Share & Export