CVE-2026-10668 in Zephyr
요약
\~에 의해 VulDB • 2026. 07. 12.
Nuvoton NuMaker HSUSBD USB 디바이스 컨트롤러 드라이버(drivers/usb/udc/udc_numaker.c)는 제어 Data IN 단계를 조건 없이 무조건 활성화했습니다(base->CEPTXCNT = len in numaker_hsusbd_ep_trigger). HSUSBD 하드웨어는 이전 전송을 위해 이미 활성화된 제어 Data IN을 비활성화할 수 없기 때문에, 진행 중인 제어 전송(타임아웃)을 취소한 후 새 SETUP 패킷을 발행하는 USB 호스트가 드라이버의 동기화를 무너뜨릴 수 있습니다. 이로 인해 새로운 전송에서 오래된 데이터(stale data)가 전송될 수 있으며, 제어 엔드포인트는 이후 모든 제어 전송에 대해 영구적으로 NAK 응답하게 되어 고착 상태가 될 수 있습니다.
악성 또는 결함이 있는 호스트(버스에 물리적으로 인접한 공격자가 버스를 조작하는 경우)는 장치를 고정시키기 위해 취소 및 재-SETUP 작업을 반복하여 디바이스의 USB 제어 엔드포인트를 마비시킬 수 있으며, 이로 인해 디바이스 기능의 서비스 거부(Denial of Service)가 발생합니다. 즉, 디바이스가 제어 파이프에서 열거(enumerating)/응답하는 것을 중단합니다. 이 결함은 가용성에만 영향을 주는 서비스 거부가 특징이며, FIFO 복사 루프(net_buf 길이 및 하드웨어 BUFFULL 플래그에 의해 제한됨)와 net_buf 수명 주기는 활성화 동기화 오류(desync)와 독립적이므로, 버퍼 오버플로우(out-of-bounds access), 사용 후 해제(use-after-free), 또는 정보 유출은 발생하지 않습니다.
수정 방법은 IN 토큰 및 새 SETUP 이벤트를 모니터링(k_event)하고, IN 토큰이 존재하며 새로운 SETUP이 도착하지 않은 경우에만 제어 Data IN을 활성화합니다. 또한 새로운 SETUP이 수신되면 현재 전송을 취소합니다. Nuvoton NuMaker HSUSBD 컨트롤러를 사용하는 보드에 영향을 미칩니다(CONFIG_UDC_NUMAKER 및 DT_HAS_NUVOTON_NUMAKER_HSUSBD_ENABLED 설정 사용); v4.4.0에 포함되었습니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.