CVE-2022-49900

7.8 HIGH

📋 TL;DR

A double-free vulnerability in the Linux kernel's i2c-piix4 driver causes memory corruption when the module is removed and reloaded. This allows local attackers to crash the system or potentially execute arbitrary code with kernel privileges. Systems using affected Linux kernel versions with the i2c-piix4 driver loaded are vulnerable.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not specified in CVE, but fix commits indicate kernel versions before the fix was backported to stable branches.
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when i2c-piix4 driver is loaded (typically on systems with SMBus controllers). Requires local access and module loading capabilities.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash, or potential privilege escalation to root via arbitrary code execution in kernel context.

🟠

Likely Case

System crash or kernel panic when i2c-piix4 module is removed and another i2c driver is loaded, causing denial of service.

🟢

If Mitigated

Limited to local users with module loading privileges; systems without i2c-piix4 loaded or with module loading restricted are protected.

🌐 Internet-Facing: LOW - Requires local access to trigger; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Local users with module loading capabilities can cause system instability or potentially gain elevated privileges.

🎯 Exploit Status

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

Exploitation requires local access and ability to load/unload kernel modules. The crash example shows a specific trigger sequence.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing commits: 569bea74c94d37785682b11bab76f557520477cd, bfd5e62f9a7ee214661cb6f143a3b40ccc63317f, d78ccdce662e88f41e87e90cf2bee63c1715d2a5, or fe51636fffc8108c7c4da6aa393010e786530ad9

Vendor Advisory: https://git.kernel.org/stable/c/569bea74c94d37785682b11bab76f557520477cd

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot system to load new kernel. 3. Verify i2c-piix4 module loads without issues.

🔧 Temporary Workarounds

Disable i2c-piix4 module

linux

Prevent loading of vulnerable driver module

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

Restrict module loading

linux

Prevent unauthorized users from loading/unloading kernel modules

sysctl -w kernel.modules_disabled=1
echo 'kernel.modules_disabled=1' >> /etc/sysctl.conf

🧯 If You Can't Patch

  • Restrict local user access to systems with vulnerable kernels
  • Implement strict module loading policies and monitor for unauthorized module operations

🔍 How to Verify

Check if Vulnerable:

Check if i2c-piix4 module is loaded: lsmod | grep i2c_piix4

Check Version:

uname -r

Verify Fix Applied:

Check kernel version against patched versions from your distribution, and test module removal/reload: rmmod i2c_piix4 && modprobe i2c_piix4

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages related to i2c-piix4
  • Page fault errors at address ffffffffc053d860
  • Failed module operations in system logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

search 'kernel: BUG: unable to handle page fault' OR 'i2c_piix4' OR 'piix4_remove' in system logs

🔗 References

📤 Share & Export