Linux Kernel
CVE-2024-56557
HIGH
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Local access with low-privilege required to trigger IIO scan mode; hardware prerequisite does not raise AC since once hardware is present exploitation complexity is low.
Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).
CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Lifecycle Timeline
5DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
iio: adc: ad7923: Fix buffer overflow for tx_buf and ring_xfer
The AD7923 was updated to support devices with 8 channels, but the size of tx_buf and ring_xfer was not increased accordingly, leading to a potential buffer overflow in ad7923_update_scan_mode().
AnalysisAI
Buffer overflow in the Linux kernel's IIO ADC AD7923 driver exposes local low-privilege users on affected hardware to potential privilege escalation or kernel crash. The flaw was introduced when 8-channel device support was added to the AD7923 driver without correspondingly enlarging the tx_buf and ring_xfer arrays, enabling out-of-bounds writes in ad7923_update_scan_mode(). No public exploit has been identified and EPSS of 0.01% (1st percentile) reflects the highly niche hardware dependency; patches are confirmed available across multiple kernel stable branches and major distributions.
Technical ContextAI
The AD7923 is a successive-approximation ADC chip interfaced via SPI, supported in the Linux kernel's IIO (Industrial I/O) subsystem under drivers/iio/adc/ad7923.c. When the driver was extended to support 8-channel variants, the statically allocated tx_buf and ring_xfer arrays were not resized to accommodate the additional channel slots, creating a classic CWE-120 (Buffer Copy without Checking Size of Input) condition in ad7923_update_scan_mode(). Writing channel configuration data beyond the allocated buffer bounds can corrupt adjacent kernel memory structures. The vulnerability spans multiple Linux kernel stable branches as reflected by five separate patch commits across distinct stable trees on kernel.org. Affected CPE: cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* across multiple release series.
RemediationAI
Apply the upstream kernel patches available across multiple stable branches via kernel.org: https://git.kernel.org/stable/c/00663d3e000c31d0d49ef86a809f5c107c2d09cd, https://git.kernel.org/stable/c/218ecc35949129171ca39bcc0d407c8dc4cd0bbc, https://git.kernel.org/stable/c/3a4187ec454e19903fd15f6e1825a4b84e59a4cd, and https://git.kernel.org/stable/c/e5cac32721997cb8bcb208a29f4598b3faf46338. Ubuntu users should apply kernel updates per USN-8575-1 (https://ubuntu.com/security/notices/USN-8575-1); Debian LTS users should apply packages from the March 2025 announcement. Exact patched kernel release versions for each distribution should be confirmed via those advisories, as NVD data does not enumerate specific fix versions. Where immediate patching is not feasible on systems running AD7923-attached hardware, blacklisting the module via 'echo blacklist ad7923 >> /etc/modprobe.d/ad7923-blacklist.conf' and unloading it with 'modprobe -r ad7923' will prevent exploitation at the cost of disabling all AD7923 ADC functionality.
Same weakness CWE-120 – Classic Buffer Overflow
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today