CVE-2024-38631

7.8 HIGH

📋 TL;DR

This CVE-2024-38631 is an out-of-bounds array access vulnerability in the Linux kernel's PAC1934 ADC driver. It allows attackers to read kernel memory beyond allocated buffers when accessing sysfs entries for average current/voltage measurements. Systems running affected Linux kernel versions with the PAC1934 driver loaded are vulnerable.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected versions not specified in CVE, but patches exist in stable kernel trees
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only vulnerable when PAC1934 ADC driver is loaded and sysfs interface is accessible.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel memory disclosure leading to information leakage, potential privilege escalation if combined with other vulnerabilities, or system crash/instability.

🟠

Likely Case

Information disclosure of kernel memory contents, which could reveal sensitive data or aid in further exploitation.

🟢

If Mitigated

Limited impact if proper access controls restrict sysfs access to privileged users only.

🌐 Internet-Facing: LOW - Requires local access to sysfs interface, not directly network exploitable.
🏢 Internal Only: MEDIUM - Local attackers or malicious users could exploit this to leak kernel memory.

🎯 Exploit Status

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

Requires local access and ability to read sysfs entries. Exploitation depends on specific memory layout.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patches available in stable kernel trees via provided git commits

Vendor Advisory: https://git.kernel.org/stable/c/51fafb3cd7fcf4f4682693b4d2883e2a5bfffe33

Restart Required: Yes

Instructions:

1. Update to patched kernel version from your distribution. 2. Reboot system. 3. Verify kernel version and that PAC1934 driver loads correctly.

🔧 Temporary Workarounds

Disable PAC1934 driver

linux

Prevent loading of vulnerable driver module

echo 'blacklist pac1934' >> /etc/modprobe.d/blacklist.conf
rmmod pac1934

Restrict sysfs access

linux

Limit access to vulnerable sysfs entries

chmod 600 /sys/bus/iio/devices/*/in_voltage*_average
chmod 600 /sys/bus/iio/devices/*/in_current*_average

🧯 If You Can't Patch

  • Restrict local user access to system, especially untrusted users
  • Monitor for unusual sysfs access patterns or kernel crash logs

🔍 How to Verify

Check if Vulnerable:

Check if PAC1934 driver is loaded: lsmod | grep pac1934 AND check kernel version against patched releases

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated beyond patch commit dates and PAC1934 driver functions normally

📡 Detection & Monitoring

Log Indicators:

  • Kernel oops or panic logs
  • Unusual sysfs access patterns in audit logs

Network Indicators:

  • None - local vulnerability only

SIEM Query:

Search for: kernel:.*Oops OR kernel:.*panic AND pac1934 OR iio

🔗 References

📤 Share & Export