$_SecureScope악용 확인 · 악용 확률 · 한국어 권고
● CISA KEV 미등재

CVE-2026-18414

The ADC API requires each driver to reject a sampling sequence whose destination buffer is too small: the buffer_size field of struct adc_sequence in include/zephyr/drivers/adc.h documents that "the d…

높음7.8악용 확률 0.12%CWE-787공개 2026-09-28
7.821CWE-787

📌 이 취약점에 대해 확인된 사실

전부 발행처가 발표한 값입니다. 우리가 계산하거나 판단한 숫자는 하나도 없습니다.

악용 여부

CISA KEV 목록에 없습니다. 악용이 없다는 증명이 아니라, 미국 정부가 악용을 확인해 등재한 적이 없다는 뜻입니다.

심각도 (발행처 발표값)

높음7.8

CVSS 버전3.1
평가 기관vulnerabilities@zephyrproject.org

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

악용 확률 (EPSS)

0.1%

30일 내 악용 확률0.12%
전체 CVE 중 백분위1.6%
기준일2026-10-04

🇰🇷 한국어 공식 권고

KISA 보호나라 권고문 본문에서 이 CVE 번호가 발견된 문서입니다.

전체 권고 ›
이 CVE 를 다룬 KISA 보호나라 권고를 아직 찾지 못했습니다. 권고가 없다는 확증은 아닙니다 — 우리는 RSS 로 공개된 최근 공지만 수집합니다.

📄 원문 그대로

아래 문장은 전부 발행처가 쓴 것입니다. 번역하지 않습니다 — 보안 문서의 오역은 조치를 바꿉니다.

취약점 설명 (NVD)

The ADC API requires each driver to reject a sampling sequence whose destination buffer is too small: the buffer_size field of struct adc_sequence in include/zephyr/drivers/adc.h documents that "the driver must ensure that samples are not written beyond the limit and it must return an error if the buffer turns out to be not large enough". The ADI MAX32 driver did not honour that contract. start_read() in drivers/adc/adc_max32.c compared buffer_size, a byte count, against a sample count ((1 + extra_samplings) channels), ignoring sizeof(uint16_t), so it accepted a buffer half the required size. The samples are then stored through the uint16_t data->buffer by Wrap_MXC_ADC_GetData(), which writes two bytes per sample and advances the pointer by one uint16_t: in adc_max32_start_channel() for synchronous reads, and in adc_max32_isr() for asynchronous ones. A sequence selecting two channels with a two-byte buffer, for example, passes the check and has its second sample written past the end of the buffer. On a build with CONFIG_USERSPACE, adc_read() and adc_read_async() are system calls. The handler in drivers/adc/adc_handlers.c copies the sequence in from user memory, verifies only that [buffer, buffer + buffer_size) is writable by the calling thread, and rejects a user-supplied options->callback; it deliberately leaves the size arithmetic to the driver. A user-mode thread that has been granted access to a MAX32 ADC device object therefore fully controls channels, buffer, buffer_size and options->extra_samplings, and can make the driver write twice as many bytes as its buffer holds. Because the check scales with extra_samplings, the overrun equals the length of the buffer itself, up to channels * 65536 bytes past its end, since the sample pointer is only rewound on a repeat sampling, never on the extra samplings of a sequence. The resulting stores are performed by the driver in kernel mode (in the system call itself, the ADC context timer, or the ADC interrupt handler for asynchronous reads), where the MPU does not restrict the thread's memory domain, so the write walks linearly out of the user partition and into adjacent memory such as other partitions, kernel data or thread stacks. The impact is kernel-memory corruption of attacker-chosen length at an attacker-chosen offset, a plausible privilege-escalation and denial-of-service primitive from an unprivileged user-mode thread. Builds without CONFIG_USERSPACE are affected only as a caller-side robustness defect, since the application itself supplies the buffer. The fix replaces that check in start_read() with a call to the new shared helper adc_sequence_validate_buffer() in drivers/adc/adc_common.c, passing sizeof(uint16_t) as the sample size. The helper computes active_channels sizeof(uint16_t) (1 + extra_samplings) and returns -ENOMEM before any sampling is started.

약점 유형(CWE):CWE-787

참조 문서 3건 · NVD 분석 상태 Awaiting Analysis · 수집 2026-09-30

참고

이 취약점은 CISA KEV 에 등재되지 않아 CISA 원문이 없습니다. 영향 범위와 패치 버전은 제품 버전·구성에 따라 다르므로 반드시 공급사 공식 권고와 NVD 원문의 참조 링크를 확인하세요.

악용 확률 변화

우리가 매일 저장한 EPSS 스냅샷입니다. 원본은 전날 값만 주므로, 이 표는 수집을 시작한 이후만 보여줍니다.

기준일확률백분위
2026-10-040.12%1.6%
2026-10-030.12%1.6%
2026-10-020.12%1.6%
2026-10-010.12%1.6%
2026-09-290.12%1.6%
이 페이지는 조치 지시가 아닙니다. 영향 범위와 패치 버전은 제품·구성에 따라 다르므로, 반드시 공급사 공식 권고와 NVD 원문의 참조 링크를 확인하세요.