CVE-2021-46969

7.8 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's MHI bus subsystem could allow local attackers to cause memory corruption or system crashes. The vulnerability occurs when the mhi_queue function incorrectly returns an error for delayed doorbell updates, potentially causing callers to free network packets (SKBs) that have already been queued. This affects systems using MHI (Modem Host Interface) devices, primarily in mobile and embedded Linux environments.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions with vulnerable MHI bus implementation (specific versions not specified in CVE, but patches available for stable branches)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires MHI bus subsystem to be enabled and used. Primarily affects systems with MHI-compatible devices (modems, wireless interfaces).

📦 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

Local privilege escalation to kernel-level code execution, system crash leading to denial of service, or memory corruption enabling arbitrary code execution.

🟠

Likely Case

System instability, kernel panics, or denial of service affecting MHI device functionality.

🟢

If Mitigated

Minimal impact with proper access controls preventing local attackers from accessing vulnerable interfaces.

🌐 Internet-Facing: LOW - This is a local kernel vulnerability requiring local access to exploit.
🏢 Internal Only: MEDIUM - Internal users with local access could potentially exploit this to cause system instability or privilege escalation.

🎯 Exploit Status

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

Requires local access and ability to trigger MHI queue operations. Exploitation would require understanding of kernel memory management and MHI subsystem.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched in stable kernel versions via commits 0ecc1c70dcd32c0f081b173a1a5d89952686f271 and a99b661c3187365f81026d89b1133a76cd2652b3

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

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix. 2. Check if your distribution has backported the fix. 3. Rebuild kernel if compiling from source. 4. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Disable MHI subsystem

linux

Remove or disable MHI bus support if not needed

modprobe -r mhi
echo "blacklist mhi" >> /etc/modprobe.d/blacklist.conf

Restrict local access

all

Limit local user access to systems with MHI devices

🧯 If You Can't Patch

  • Implement strict access controls to prevent unauthorized local users from accessing systems
  • Monitor system logs for kernel panics or MHI-related errors and isolate affected systems

🔍 How to Verify

Check if Vulnerable:

Check kernel version and verify if MHI subsystem is loaded: lsmod | grep mhi && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes the fix commits or check with distribution's security advisory

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • MHI-related error messages in dmesg
  • Use-after-free warnings in kernel logs

Network Indicators:

  • Unusual MHI device behavior
  • Modem/wireless interface instability

SIEM Query:

source="kernel" AND ("panic" OR "use-after-free" OR "mhi")

🔗 References

📤 Share & Export