CVE-2022-48854

7.8 HIGH

📋 TL;DR

This CVE describes a use-after-free vulnerability in the Linux kernel's arc_emac network driver. When the arc_mdio_probe() function fails during MDIO bus initialization, it frees memory but continues to use the freed 'bus' pointer to access the bus name, potentially leading to memory corruption. This affects Linux systems using the arc_emac driver for ARC Ethernet MAC controllers.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ✅ No
Notes: Only affects systems using the arc_emac network driver for ARC architecture Ethernet controllers. Most x86/ARM systems 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, system crash, or potential local privilege escalation to kernel-level code execution leading to complete system compromise.

🟠

Likely Case

System instability, kernel panic, or denial of service causing system crashes or reboots.

🟢

If Mitigated

Limited impact if system crashes without privilege escalation, requiring physical or remote console access to restart.

🌐 Internet-Facing: LOW - This requires local access to trigger the vulnerable code path in the kernel driver.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger this vulnerability, but requires specific conditions with arc_emac driver.

🎯 Exploit Status

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

Exploitation requires local access and ability to trigger the specific error condition in arc_mdio_probe(). The vulnerability is in error handling code path.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits 84c831803785c2c3bec5c28c0e8a0b72f6b41d4d and bc0e610a6eb0d46e4123fafdbe5e6141d9fff3be

Vendor Advisory: https://git.kernel.org/stable/c/84c831803785c2c3bec5c28c0e8a0b72f6b41d4d

Restart Required: Yes

Instructions:

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

🔧 Temporary Workarounds

Disable arc_emac module

linux

Prevent loading of the vulnerable arc_emac kernel module if not needed

echo 'blacklist arc_emac' >> /etc/modprobe.d/blacklist.conf
rmmod arc_emac

🧯 If You Can't Patch

  • Ensure systems using arc_emac driver have restricted local user access
  • Monitor system logs for kernel panics or crashes related to network driver initialization

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if arc_emac module is loaded: lsmod | grep arc_emac && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched and check dmesg for arc_emac driver loading without errors

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Oops messages in dmesg
  • System crashes during network initialization

Network Indicators:

  • None - this is a local kernel vulnerability

SIEM Query:

search 'kernel panic' OR 'Oops' OR 'arc_emac' in system logs

🔗 References

📤 Share & Export