CVE-2026-9728 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 08. 24.

drivers/mbox/mbox_handlers.c의 userspace syscall verifier인 z_vrfy_mbox_send()는 msg->data/msg->size 필드를 live userspace 메모리에서 직접 읽음으로써 중첩된 필드를 검증했으며, 원래의 mutable 상태가 유지되는 userspace struct mbox_msg * 포인터를 z_impl_mbox_send() 및 하위 드라이버로 전달했습니다. 접근 검사(driver access check)와 driver가 msg->data를 사용하는 시점 사이에 유효성 검사가 완료된 포인터가 교체될 수 있어 time-of-check/time-of-use(TOCTOU) 경쟁 조건이 발생했습니다.

CONFIG_USERSPACE 옵션으로 빌드된 시스템에서는 모든 비특권(unprivileged) userspace 스레드가 mbox_send() 시스템 콜을 호출할 수 있습니다. 호출자의 주소 공간을 공유하는 두 번째 스레드는 verifier의 경계 검사(bound check)를 통과한 후 드라이버가 이를 역참조(dereference)하기 전에 msg->data를 supervisor(커널) 주소로 덮어쓰기 위해 경쟁(race)할 수 있습니다. 이후 드라이버는 공격자가 선택한 주소를 supervisor 컨텍스트에서 읽습니다(NXP mailbox driver의 경우 memcpy(&data32, msg->data, msg->size)와 같으며, 해당 바이트는 나중에 피어 메일박스 엔드포인트로 전송됨).

이 취약점의 영향은 userspace에서 supervisor로의 접근 제어 우회입니다: 커널 메모리 내용 유출(높은 기밀성 영향), 또는 유효하지 않거나 매핑되지 않은 대상 주소의 경우 faulting kernel read로 인한 서비스 거부(Denial of Service)가 발생합니다. 수정 방법은 k_usermode_from_copy()를 사용하여 struct mbox_msg 전체를 커널 스택 복사본으로 스냅샷하고, 해당 불변(immutable) 복사본을 검증 및 전달하여 경쟁 조건(race condition)을 차단합니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 05. 27.

모더레이션

수락

항목

VDB-394697

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!