CVE-2026-10683 in Zephyr정보

요약

\~에 의해 VulDB • 2026. 07. 27.

Synopsys DesignWare I2C 드라이버(drivers/i2c/i2c_dw.c)가 타겟/슬레이브 모드에서 동작할 때, rx_full 인터럽트 핸들러는 dw->state != CMD_SEND 조건 하에 write_requested() 콜백을 차단합니다. 또한 dw->state는 STOP 인터럽트 발생 시에만 READY 상태로 재설정됩니다. i2c_dw_slave_read_clear_intr_bits() 내의 START_DET 인터럽트 핸들러가 모든 (재)START마다 상태를 재설정해야 하지만, 이 핸들러는 i2c_dw_slave_register()에서 활성화된 인터럽트 마스크에 추가되지 않았으므로 해당 복구 경로는 사용하지 않는 코드(dead code)였습니다.

그 결과 STOP 인터럽트가 손실되는 경우(버스 글리치/리셋 또는 동시 실행 중인 마스터가 STOP을 구동하는 경우), 또는 버스 마스터가 동일한 방향성을 가진 정당한 WRITE-repeated-START-WRITE 시퀀스를 발행하는 경우, 드라이버는 영구적으로 CMD_SEND 상태에 머무르며 타겟의 수명 동안 write_requested()를 다시 호출하지 않습니다.

같은 물리적 버스에 연결된 I2C 마스터가 이를 의도적으로 트리거하면 모든 후속 쓰기 트랜잭션에서 I2C 타겟 기능이 오작동하고 소비자 프레임 상태(예: MCTP-over-I2C)의 동기화가 해제되어, 타겟 주변 장치에 대한 리셋으로 복구 가능한 서비스 거부(Denial of Service)가 발생합니다.

이 수정은 START_DET를 언마스크하여 모든 버스 (재)START 시 상태를 재설정합니다. 영향력은 로컬 보드 레벨 버스를 통한 가용성(Availability)에만 국한되며, 인-트리(consumer) 내에서는 바이트 단위 쓰기마다 독립적으로 경계 체크(bounds-checked)가 수행되므로 메모리 부패(memory corruption)는 발생하지 않습니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Zephyr

예약하다

2026. 06. 02.

모더레이션

수락

항목

VDB-383543

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!