CVE-2022-49435
📋 TL;DR
A null pointer dereference vulnerability in the Linux kernel's davinci_voicecodec driver could cause kernel crashes or system instability when the driver attempts to access memory without proper validation. This affects Linux systems using the affected kernel versions with the davinci_voicecodec driver loaded. The vulnerability occurs during device probing when platform resources aren't properly checked before use.
💻 Affected Systems
- Linux kernel
📦 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
Kernel panic leading to system crash and denial of service, potentially causing data loss or system instability.
Likely Case
System crash or kernel panic when the vulnerable driver is loaded and platform_get_resource() returns NULL.
If Mitigated
No impact if the driver isn't loaded or the system has been patched.
🎯 Exploit Status
Requires ability to trigger the vulnerable code path, typically through local access or driver loading.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions with the commits referenced in the CVE links
Vendor Advisory: https://git.kernel.org/stable/c/2d00158a06efe6bbcd020108634ea0f2ed8b32f7
Restart Required: Yes
Instructions:
1. Update to a patched kernel version from your distribution vendor. 2. Reboot the system to load the new kernel.
🔧 Temporary Workarounds
Disable davinci_voicecodec driver
linuxPrevent loading of the vulnerable kernel module
echo 'blacklist davinci_voicecodec' >> /etc/modprobe.d/blacklist.conf
rmmod davinci_voicecodec
🧯 If You Can't Patch
- Ensure the davinci_voicecodec driver is not loaded on affected systems
- Restrict local user access and kernel module loading capabilities
🔍 How to Verify
Check if Vulnerable:
Check if davinci_voicecodec module is loaded: lsmod | grep davinci_voicecodec
Check Version:
uname -r
Verify Fix Applied:
Check kernel version against patched versions from distribution vendor
📡 Detection & Monitoring
Log Indicators:
- Kernel panic messages
- System crash logs
- Driver loading failures
Network Indicators:
- None - local vulnerability only
SIEM Query:
Search for kernel panic events or system crash reports
🔗 References
- https://git.kernel.org/stable/c/2d00158a06efe6bbcd020108634ea0f2ed8b32f7
- https://git.kernel.org/stable/c/311242c7703df0da14c206260b7e855f69cb0264
- https://git.kernel.org/stable/c/49c1e32e7b3f301642a60448700ec531df981269
- https://git.kernel.org/stable/c/5289795824b77489803b0802cd9edc13824a2d0b
- https://git.kernel.org/stable/c/579944b9f38727d9ff570b58f83bc424e8af8398
- https://git.kernel.org/stable/c/a1d4941d9a24999f680799f9bbde7f57351ca637