CVE-2025-38209

7.8 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's NVMe over TCP implementation allows attackers to cause kernel memory corruption and potentially crash or compromise the system. This affects Linux systems using NVMe over TCP storage connections. The vulnerability occurs during admin queue configuration failures in the NVMe TCP driver.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific kernel versions containing the vulnerable commit 104d0e2f6222 up to the fix commits db1da838b6012e4570c6f81e28ffe1d0ff595948 and e7143706702a209c814ed2c3fc6486c2a7decf6c
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using NVMe over TCP functionality. Systems not using NVMe over TCP are not affected.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash, or potential privilege escalation to kernel-level code execution if combined with other vulnerabilities.

🟠

Likely Case

System instability, kernel crashes, or denial of service affecting storage operations.

🟢

If Mitigated

Limited impact if systems are patched or don't use NVMe over TCP functionality.

🌐 Internet-Facing: LOW - Requires NVMe over TCP connectivity and specific failure conditions.
🏢 Internal Only: MEDIUM - Affects systems using NVMe over TCP in data centers or cloud environments.

🎯 Exploit Status

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

Exploitation requires triggering specific admin queue configuration failures in NVMe over TCP setup, making reliable exploitation difficult.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits db1da838b6012e4570c6f81e28ffe1d0ff595948 and e7143706702a209c814ed2c3fc6486c2a7decf6c

Vendor Advisory: https://git.kernel.org/stable/c/db1da838b6012e4570c6f81e28ffe1d0ff595948

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot system to load new kernel. 3. Verify kernel version matches patched release.

🔧 Temporary Workarounds

Disable NVMe over TCP

linux

Prevent use of NVMe over TCP functionality if not required

# Check if NVMe over TCP is loaded: lsmod | grep nvme_tcp
# Remove module if loaded: rmmod nvme_tcp
# Blacklist to prevent loading: echo 'blacklist nvme_tcp' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Avoid using NVMe over TCP storage connections
  • Monitor system logs for kernel panic or crash events related to NVMe operations

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if NVMe over TCP module is loaded: uname -r && lsmod | grep nvme_tcp

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is newer than vulnerable versions and test NVMe over TCP functionality

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • KASAN slab-use-after-free reports
  • NVMe connection failure logs
  • System crash/reboot events

Network Indicators:

  • NVMe over TCP connection failures
  • Storage service disruptions

SIEM Query:

event_type:kernel AND (message:*KASAN* OR message:*slab-use-after-free* OR message:*nvme_tcp*)

🔗 References

📤 Share & Export