CVE-2022-49492

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's NVMe driver allows local attackers to cause a kernel panic (denial of service) by triggering an error condition during NVMe controller initialization. This affects systems using NVMe storage devices with vulnerable kernel versions. Attackers need local access to exploit this vulnerability.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific vulnerable kernel versions with the nvme-pci driver (exact versions depend on distribution backports)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with NVMe PCIe storage devices. The vulnerability is triggered during NVMe controller initialization/reset.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, potentially causing data loss or service disruption.

🟠

Likely Case

System crash requiring reboot when malicious local user triggers the error condition during NVMe initialization.

🟢

If Mitigated

No impact if patched or if NVMe devices are not present/used.

🌐 Internet-Facing: LOW - Requires local access to exploit, not remotely exploitable.
🏢 Internal Only: MEDIUM - Local attackers or malicious processes could crash the system, affecting availability.

🎯 Exploit Status

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

Requires local access and ability to trigger NVMe controller error conditions. Not trivial to exploit reliably.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions with commit 54a4c1e47d1b2585e74920399455bd9abbfb2bd7 or later

Vendor Advisory: https://git.kernel.org/stable/c/54a4c1e47d1b2585e74920399455bd9abbfb2bd7

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. For custom kernels: apply commit 54a4c1e47d1b2585e74920399455bd9abbfb2bd7. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable NVMe devices

linux

Remove or disable NVMe storage devices to prevent the vulnerable code path from being triggered.

echo 1 > /sys/bus/pci/devices/[NVMe-device-ID]/remove

Blacklist nvme module

linux

Prevent nvme driver from loading at boot.

echo 'blacklist nvme' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Restrict local user access to prevent malicious users from triggering the vulnerability
  • Implement strict process isolation and privilege separation to limit attack surface

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if NVMe devices are present: 'uname -r' and 'lspci | grep -i nvme'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched and check dmesg for NVMe initialization errors after reboot

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in dmesg/system logs
  • NULL pointer dereference errors related to nvme_alloc_admin_tags

Network Indicators:

  • None - local vulnerability only

SIEM Query:

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

🔗 References

📤 Share & Export