CVE-2025-23160
📋 TL;DR
A resource leak vulnerability in the MediaTek video codec driver for Linux kernel allows attackers to cause memory exhaustion on affected systems. This affects Linux systems running on MediaTek hardware with system companion processor (SCP) support. The vulnerability occurs during firmware initialization when allocation fails but resources aren't properly cleaned up.
💻 Affected Systems
- Linux kernel with MediaTek video codec driver (media: mediatek: vcodec)
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Memory exhaustion leading to system instability, kernel panic, or denial of service on affected MediaTek devices
Likely Case
Gradual memory consumption over time causing performance degradation or application crashes
If Mitigated
Minimal impact with proper memory monitoring and resource limits in place
🎯 Exploit Status
Requires ability to trigger firmware initialization failures in the MediaTek video codec driver, typically requiring local access or another vulnerability chain
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Linux kernel stable commits: 4936cd5817af35d23e4d283f48fa59a18ef481e4, 69dd5bbdd79c65445bb17c3c53510783bc1d756c, 9f009fa823c54ca0857c81f7525ea5a5d32de29c, ac94e1db4b2053059779472eb58a64d504964240, d6cb086aa52bd51378a4c9e2b25d2def97770205
Vendor Advisory: https://git.kernel.org/stable/c/4936cd5817af35d23e4d283f48fa59a18ef481e4
Restart Required: Yes
Instructions:
1. Update Linux kernel to version containing the fix commits. 2. For embedded MediaTek devices, obtain updated firmware from device manufacturer. 3. Reboot system after kernel update.
🔧 Temporary Workarounds
Disable MediaTek video codec driver
linuxPrevent loading of the vulnerable driver module
echo 'blacklist mtk-vcodec' > /etc/modprobe.d/blacklist-mtk-vcodec.conf
rmmod mtk_vcodec_dec mtk_vcodec_enc
Limit memory usage
linuxSet memory limits to contain potential resource exhaustion
ulimit -v 2097152
sysctl -w vm.overcommit_memory=2
🧯 If You Can't Patch
- Restrict local user access to systems with vulnerable MediaTek hardware
- Implement strict memory monitoring and alerting for abnormal consumption patterns
🔍 How to Verify
Check if Vulnerable:
Check if MediaTek video codec driver is loaded: lsmod | grep mtk_vcodec AND check kernel version against patched versions
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits: grep -r 'mtk_scp' /usr/src/linux-headers-$(uname -r) OR check if driver loads without errors in dmesg
📡 Detection & Monitoring
Log Indicators:
- Kernel oops messages related to mtk_vcodec
- Memory allocation failures in kernel logs
- SCP firmware initialization errors
Network Indicators:
- None - local vulnerability only
SIEM Query:
source="kernel" AND ("mtk_vcodec" OR "SCP" OR "resource leak")
🔗 References
- https://git.kernel.org/stable/c/4936cd5817af35d23e4d283f48fa59a18ef481e4
- https://git.kernel.org/stable/c/69dd5bbdd79c65445bb17c3c53510783bc1d756c
- https://git.kernel.org/stable/c/9f009fa823c54ca0857c81f7525ea5a5d32de29c
- https://git.kernel.org/stable/c/ac94e1db4b2053059779472eb58a64d504964240
- https://git.kernel.org/stable/c/d6cb086aa52bd51378a4c9e2b25d2def97770205
- https://git.kernel.org/stable/c/fd7bb97ede487b9f075707b7408a9073e0d474b1
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html