CVE-2022-49509

7.1 HIGH

📋 TL;DR

A use-after-free vulnerability in the Linux kernel's MAX9286 I2C camera bridge driver causes a kernel oops (crash) when removing the module. This affects systems using the MAX9286 hardware with the vulnerable driver, potentially leading to denial of service. The issue occurs due to incorrect pointer handling between I2C client data and V4L2 subdevice structures.

💻 Affected Systems

Products:
  • Linux kernel with MAX9286 I2C camera bridge driver
Versions: Linux kernel versions before fixes in stable releases (specific commits: 365ab7ebc24e, 579c77595dbb, 9dd783274c89, a4ec75df7057)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with MAX9286 hardware and the driver loaded. Vulnerability triggers during module removal (rmmod).

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel panic leading to system crash and denial of service, requiring physical or remote reboot.

🟠

Likely Case

System instability or crash when removing the MAX9286 module, causing temporary service disruption.

🟢

If Mitigated

No impact if patched or module removal is avoided.

🌐 Internet-Facing: LOW - Requires local access to load/unload kernel modules.
🏢 Internal Only: MEDIUM - Local attackers with module loading privileges could cause denial of service.

🎯 Exploit Status

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

Requires local access and CAP_SYS_MODULE capability to load/unload modules. Triggered by removing the max9286 module.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel stable releases containing fixes from commits: 365ab7ebc24e, 579c77595dbb, 9dd783274c89, a4ec75df7057

Vendor Advisory: https://git.kernel.org/stable/c/365ab7ebc24eebb42b9e020aeb440d51af8960cd

Restart Required: No

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For custom kernels, apply patches from kernel.org. 3. Rebuild and install kernel if compiling from source. 4. No reboot required for module updates, but kernel update requires reboot.

🔧 Temporary Workarounds

Prevent module removal

Linux

Restrict module unloading capabilities to prevent triggering the vulnerability

echo 1 > /sys/module/max9286/parameters/refcnt
chmod 400 /sys/module/max9286/initstate

🧯 If You Can't Patch

  • Restrict module loading/unloading capabilities using kernel.modules_disabled=1 or capabilities
  • Monitor for module removal attempts and alert on rmmod max9286 commands

🔍 How to Verify

Check if Vulnerable:

Check if max9286 module is loaded: lsmod | grep max9286. Check kernel version: uname -r and compare with patched versions.

Check Version:

uname -r

Verify Fix Applied:

After update, attempt safe module removal test in controlled environment or verify kernel contains fix commits.

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages mentioning max9286_remove or i2c_mux_del_adapters
  • System crash/panic logs during module removal

Network Indicators:

  • None - local vulnerability only

SIEM Query:

process.name="rmmod" AND process.args="max9286" OR kernel.message="*max9286*" OR kernel.message="*i2c_mux_del_adapters*"

🔗 References

📤 Share & Export