CVE-2022-49496

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the MediaTek vcodec decoder driver for Linux kernels causes a kernel crash when removing the mtk-vcodec-dec.ko module. This affects Linux systems with MediaTek hardware using the vulnerable driver, potentially leading to denial of service.

💻 Affected Systems

Products:
  • Linux kernel with MediaTek vcodec decoder driver
Versions: Linux kernel versions before the fix commits (1fa37b00dc55a061a3eb82e378849862b4aeca9d and c10c0086db688c95bb4e0e378e523818dff1551d)
Operating Systems: Linux distributions with MediaTek hardware support
Default Config Vulnerable: ✅ No
Notes: Only affects systems with MediaTek hardware using the mtk-vcodec-dec driver in subdev mode.

📦 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 leading to system crash and denial of service, requiring physical or remote console access to reboot.

🟠

Likely Case

System crash when attempting to remove the vcodec driver module, causing service disruption.

🟢

If Mitigated

No impact if the vulnerable driver is not loaded or the system is patched.

🌐 Internet-Facing: LOW - Requires local access or ability to load/unload kernel modules.
🏢 Internal Only: MEDIUM - Local users with module loading privileges can crash the system.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires local access and ability to load/unload kernel modules (typically root or CAP_SYS_MODULE).

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel with commits 1fa37b00dc55a061a3eb82e378849862b4aeca9d and c10c0086db688c95bb4e0e378e523818dff1551d

Vendor Advisory: https://git.kernel.org/stable/c/1fa37b00dc55a061a3eb82e378849862b4aeca9d

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Rebuild kernel if using custom kernel. 3. Reboot system to load patched kernel.

🔧 Temporary Workarounds

Prevent module removal

linux

Restrict ability to remove the vulnerable kernel module

echo 'install mtk-vcodec-dec /bin/false' >> /etc/modprobe.d/disable-mtk-vcodec.conf
rmmod mtk_vcodec_dec

Disable module loading

linux

Prevent loading of the vulnerable module

echo 'blacklist mtk_vcodec_dec' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Restrict module loading capabilities to trusted users only
  • Monitor for attempts to load/unload kernel modules

🔍 How to Verify

Check if Vulnerable:

Check if mtk_vcodec_dec module is loaded: lsmod | grep mtk_vcodec_dec

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix commits: grep -q '1fa37b00dc55a061a3eb82e378849862b4aeca9d\|c10c0086db688c95bb4e0e378e523818dff1551d' /proc/version

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/kern.log or dmesg
  • Module removal attempts in system logs

Network Indicators:

  • None - local vulnerability

SIEM Query:

source="kernel" AND "mtk_vcodec_dec_remove" OR "do_raw_spin_trylock"

🔗 References

📤 Share & Export