Impact
An out‑of‑bounds write occurs when the ADI MAX32 ADC driver accepts a sampling sequence whose destination buffer is too small. The driver compares the buffer size (in bytes) against the number of samples, ignoring the fact that each sample is a 16‑bit value. As a result, two bytes are written for each sample, and the driver writes past the end of the user‑supplied buffer. The overflow occurs in kernel mode during the ADC read system call or its interrupt handler, bypassing normal memory protection. This allows an unprivileged user‑mode thread that has access to the ADC device to corrupt arbitrary kernel memory, creating a privilege‑escalation and denial‑of‑service vector.
Affected Systems
Zephyr Project Zephyr builds that include the ADI MAX32 ADC driver and enable CONFIG_USERSPACE are affected. Builds without user space support suffer only from a robustness flaw; the kernel memory corrupts only when a user‑mode thread can issue adc_read or adc_read_async calls to the device.
Risk and Exploitability
The CVSS base score is 7.8, indicating a high‑severity flaw. EPSS data is not available, and the vulnerability is not listed in CISA's KEV catalog. Exploitation requires a user‑mode thread that can access the ADC device, a likely scenario when drivers are exposed to application code. The attacker can select arbitrary buffer sizes and channel counts, causing the overflow to reach kernel structures, thread stacks, or other protected memory. Given the lack of kernel‑mode boundaries and the high impact of memory corruption, the risk is significant and should be addressed promptly.
OpenCVE Enrichment