CVE-2022-50054

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's iavf driver allows local users to crash the system via a kernel panic. This affects systems using Intel Ethernet Adaptive Virtual Function (iavf) drivers when ethtool operations are called after a specific error condition frees critical resources.

💻 Affected Systems

Products:
  • Linux kernel with iavf driver
Versions: Linux kernel versions containing the regression introduced by commit that freed adapter->vf_res in iavf_init_get_resources
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires iavf driver loaded and Intel Ethernet Adaptive Virtual Function hardware. Triggered when IAVF_ERR_ADMIN_QUEUE_NO_WORK error occurs followed by ethtool operations.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

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

🟠

Likely Case

Local denial of service causing system instability or crash when ethtool commands are executed during specific error conditions.

🟢

If Mitigated

Minimal impact with proper access controls preventing local users from executing ethtool commands.

🌐 Internet-Facing: LOW - Requires local access to trigger.
🏢 Internal Only: MEDIUM - Local users or processes with ethtool access can cause denial of service.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW - Local user can trigger via ethtool commands.

Exploitation requires local access and ability to execute ethtool commands. The crash dump shows it was triggered by pmdalinux process.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits 541a1af451b0cb3779e915d48d08efb17915207b and b305c7e9363f5a174ee08ac5f056e4b209f0325b

Vendor Advisory: https://git.kernel.org/stable/c/541a1af451b0cb3779e915d48d08efb17915207b

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fixes 2. Reboot system 3. Verify iavf driver loads without errors

🔧 Temporary Workarounds

Restrict ethtool access

linux

Limit which users can execute ethtool commands to prevent triggering the vulnerability.

chmod 750 /sbin/ethtool
setcap -r /sbin/ethtool

Unload iavf driver

linux

Remove the vulnerable driver if not required for system operation.

modprobe -r iavf

🧯 If You Can't Patch

  • Implement strict access controls to prevent unauthorized users from executing ethtool commands
  • Monitor system logs for kernel panic messages related to iavf_get_link_ksettings

🔍 How to Verify

Check if Vulnerable:

Check if system has iavf driver loaded and kernel version is affected: lsmod | grep iavf && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fixes: grep -q '541a1af451b0cb3779e915d48d08efb17915207b\|b305c7e9363f5a174ee08ac5f056e4b209f0325b' /proc/version

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages containing 'iavf_get_link_ksettings'
  • NULL pointer dereference errors at address 0000000000000008
  • BUG: kernel NULL pointer dereference in iavf driver

Network Indicators:

  • Network interface instability on systems with iavf drivers

SIEM Query:

event_source="kernel" AND (message CONTAINS "iavf_get_link_ksettings" OR message CONTAINS "NULL pointer dereference" AND process="ethtool")

🔗 References

📤 Share & Export