CVE-2022-49249

7.1 HIGH

📋 TL;DR

This CVE describes an out-of-bounds array access vulnerability in the Linux kernel's wc938x audio codec driver. On ARM64 (aarch64) systems where sizeof(long) is 8 bytes but enum size is 4 bytes, using integers to access enums can cause memory corruption. This affects Linux systems with the wc938x driver loaded.

💻 Affected Systems

Products:
  • Linux kernel with wc938x audio codec driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if the wc938x audio codec driver is compiled into the kernel or loaded as a module. Many systems may not have this specific hardware/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 →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel memory corruption leading to system crash (kernel panic), privilege escalation, or arbitrary code execution in kernel context.

🟠

Likely Case

System instability, kernel crashes, or denial of service when the affected audio codec functionality is used.

🟢

If Mitigated

No impact if the wc938x driver is not loaded or if systems are patched.

🌐 Internet-Facing: LOW - This is a kernel driver vulnerability requiring local access or specific hardware interaction.
🏢 Internal Only: MEDIUM - Could be exploited by local users or through other vulnerabilities to escalate privileges or cause system instability.

🎯 Exploit Status

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

Exploitation requires local access or ability to trigger the vulnerable code path. The vulnerability is in a specific audio driver, limiting attack surface.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel versions containing the fix commits: adafea71b49ec4dbc44e0b84ec6eb602004a7a08, cc587b7c8fbbe128f6bd0dad025a0caea5e6d164, d09aee1b1da196be11ed86dd4897f228f2487613, f03c0c94186d5876857132d97e28f20cdc100bdc

Vendor Advisory: https://git.kernel.org/stable/c/adafea71b49ec4dbc44e0b84ec6eb602004a7a08

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution. 2. Rebuild kernel if using custom kernel. 3. Reboot system to load new kernel.

🔧 Temporary Workarounds

Disable wc938x driver

Linux

Prevent loading of the vulnerable driver module

echo 'blacklist snd-soc-wc938x' >> /etc/modprobe.d/blacklist.conf
rmmod snd-soc-wc938x

🧯 If You Can't Patch

  • Ensure wc938x driver is not loaded (check with lsmod)
  • Restrict local user access to systems with vulnerable driver

🔍 How to Verify

Check if Vulnerable:

Check if wc938x driver is loaded: lsmod | grep wc938x AND check kernel version against patched versions

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is patched AND wc938x driver functions normally if needed

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Ooops messages in dmesg
  • Audio subsystem errors

Network Indicators:

  • None - local vulnerability

SIEM Query:

Search for kernel panic or Oops messages containing wc938x or audio codec references

🔗 References

📤 Share & Export