CVE-2025-38259
📋 TL;DR
This CVE describes a memory leak and resource management vulnerability in the Linux kernel's WCD9335 audio codec driver. The driver fails to properly free regulator supplies during error conditions or device unbinding, leading to memory leaks and unbalanced regulator enable counts. This affects systems using the WCD9335 audio codec with vulnerable Linux kernel versions.
💻 Affected Systems
- Linux kernel with WCD9335 audio codec driver
📦 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 →⚠️ Risk & Real-World Impact
Worst Case
Sustained exploitation could lead to kernel memory exhaustion, system instability, or denial of service through resource depletion, potentially requiring system reboot.
Likely Case
Memory leaks accumulate over time, gradually degrading system performance and stability, particularly on embedded devices with limited resources.
If Mitigated
With proper kernel hardening and resource limits, impact is limited to potential performance degradation rather than complete system failure.
🎯 Exploit Status
Exploitation requires local access and ability to trigger driver probe errors or unbind operations. No known active exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Kernel versions containing commits: 9079db287fc3e38e040b0edeb0a25770bb679c8e, 9830ef1803a5bc50b4a984a06cf23142cd46229d, 9830ef1803a5bc50b4a984a06cf23142cd46229d, a8795f3cd289cd958f6396a1b43ba46fa8e22a2e, b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a, edadaf4239c14dc8a19ea7f60b97d5524d93c29b
Vendor Advisory: https://git.kernel.org/stable/c/
Restart Required: Yes
Instructions:
1. Update to a patched Linux kernel version from your distribution vendor. 2. Reboot the system to load the new kernel. 3. Verify the fix is applied by checking kernel version or driver behavior.
🔧 Temporary Workarounds
Disable WCD9335 driver
linuxPrevent loading of the vulnerable driver module
echo 'blacklist snd-soc-wcd9335' >> /etc/modprobe.d/blacklist.conf
rmmod snd-soc-wcd9335
Limit driver usage
linuxRestrict which users can load kernel modules
sysctl -w kernel.modules_disabled=1
echo 'kernel.modules_disabled=1' >> /etc/sysctl.conf
🧯 If You Can't Patch
- Monitor system memory usage and kernel logs for signs of memory leaks
- Implement regular system reboots to clear accumulated memory leaks
🔍 How to Verify
Check if Vulnerable:
Check if WCD9335 driver is loaded: lsmod | grep wcd9335. Check kernel version against patched versions.
Check Version:
uname -r
Verify Fix Applied:
Verify kernel version includes fix commits. Test driver loading/unloading while monitoring memory usage.
📡 Detection & Monitoring
Log Indicators:
- Kernel oom-killer messages
- Increasing memory usage in /proc/meminfo
- Driver probe failure messages in dmesg
Network Indicators:
- None - this is a local kernel vulnerability
SIEM Query:
source="kernel" AND ("oom-killer" OR "out of memory" OR "wcd9335" AND ("probe failed" OR "unbind"))
🔗 References
- https://git.kernel.org/stable/c/9079db287fc3e38e040b0edeb0a25770bb679c8e
- https://git.kernel.org/stable/c/9830ef1803a5bc50b4a984a06cf23142cd46229d
- https://git.kernel.org/stable/c/a8795f3cd289cd958f6396a1b43ba46fa8e22a2e
- https://git.kernel.org/stable/c/b86280aaa23c1c0f31bcaa600d35ddc45bc38b7a
- https://git.kernel.org/stable/c/edadaf4239c14dc8a19ea7f60b97d5524d93c29b
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html