CVE-2022-50431

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's ALSA subsystem for Apple Onboard Audio (aoa) i2sbus driver. When device registration fails in i2sbus_add_dev(), memory allocated for device names isn't properly freed, potentially leading to kernel memory exhaustion over time. This affects Linux systems using the aoa sound architecture, primarily on Apple hardware.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected kernel versions not explicitly stated in CVE, but patches exist for stable kernel trees
Operating Systems: Linux distributions running affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires CONFIG_SND_AOA and CONFIG_SND_AOA_I2SBUS kernel configuration options enabled, typically on Apple hardware systems

📦 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 →

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, causing system instability, denial of service, or kernel panic/crash.

🟠

Likely Case

Memory leak gradually consumes kernel memory, potentially leading to system performance degradation or instability over time.

🟢

If Mitigated

With proper monitoring and memory limits, impact is limited to potential performance issues rather than complete system failure.

🌐 Internet-Facing: LOW - This is a local kernel driver vulnerability requiring local access or ability to trigger the specific device registration failure.
🏢 Internal Only: MEDIUM - Local users or processes could potentially trigger the memory leak, but exploitation requires specific conditions and privileges.

🎯 Exploit Status

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

Exploitation requires triggering the specific device registration failure path in i2sbus_add_dev(), which may require specific hardware conditions or driver manipulation

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Multiple stable kernel versions with fixes available (see references)

Vendor Advisory: https://git.kernel.org/stable/c/027fee10e3a400cf6f3237374a1248da1082807b

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution's repositories
2. Rebuild kernel if using custom kernel with affected code
3. Reboot system to load new kernel

🔧 Temporary Workarounds

Disable aoa i2sbus driver

linux

Remove or blacklist the vulnerable driver module

echo 'blacklist snd-aoa-i2sbus' >> /etc/modprobe.d/blacklist-aoa.conf
rmmod snd-aoa-i2sbus

🧯 If You Can't Patch

  • Monitor kernel memory usage for unusual increases using tools like /proc/meminfo or slabtop
  • Implement system memory limits and restart services if memory consumption exceeds thresholds

🔍 How to Verify

Check if Vulnerable:

Check if aoa i2sbus driver is loaded: lsmod | grep snd-aoa-i2sbus and check kernel version against patched versions

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated to patched version and driver functions normally

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops messages
  • Memory allocation failures in kernel logs
  • System instability logs

Network Indicators:

  • None - this is a local kernel vulnerability

SIEM Query:

source="kernel" AND ("memory allocation failure" OR "slab" OR "kmalloc" OR "kfree")

🔗 References

📤 Share & Export