CVE-2026-10674 in Zephyr
요약
\~에 의해 VulDB • 2026. 07. 22.
NXP LPUART 직렬 드라이버(drivers/serial/uart_mcux_lpuart.c)에서 CONFIG_UART_USE_RUNTIME_CONFIGURE가 활성화된 경우, mcux_lpuart_configure() 시작 시 LPUART_Deinit()이 호출되어 LPUARt 주변 장치 클럭이 비활성화됩니다. 요청된 구성은 이후(mcux_lpuart_configure_basic에서)에만 유효성이 검사되며, 지원되지 않는 패리티/데이터 비트/정지 비트/흐름 제어 값은 클럭이 다시 활성화되기 전에 -ENOTSUP을 반환합니다.
결과적으로 지원되지 않는 구성으로 인한 uart_configure() 요청 시 LPUART가 클럭 비활성화 상태로 남아 있게 되며, 이후 LPUARt 레지스터에 대한 모든 접근(출력 폴링/입력 폴링, 인터럽트 처리 또는 후속 재구성)이 게이트된 주변 장치에서 오류를 발생시켜 하드_fault로 이어지고 시스템이 충돌합니다.
uart_configure()은 cfg가 판독 가능한 사용자 메모리인지 여부만 확인하고 호출자가 제공한 구성을 변경 없이 전달하는 검증자(z_vrfy_uart_configure)를 가진 Zephyr syscall입니다. 따라서 LPUART 장치에 접근 권한 있는 비특권 사용자 공간 스레드는 오류를 결정적으로 트리거하여 지속적이고 시스템 전체적인 서비스 거부(Denial of Service, DoS) 상태를 초래할 수 있습니다.
이 문제는 v2.5.0에서 도입되었으며 이 수정까지 모든 후속 릴리스에 존재했습니다. 해당 수정은 LPUART_Deinit() 호출을 제거하고 대신 송신기/수신기만 비활성화하여 클럭은 계속 동작하도록 합니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.