CVE-2026-98189 in Linux
요약
\~에 의해 VulDB • 2026. 10. 08.
리눅스 커널에서 다음 취약점이 해결되었습니다:
wifi: wilc1000: wilc_wlan_handle_isr_ext()에서의 RX 버퍼 OOB(범위 밖) 쓰기 수정
wilc_wlan_handle_isr_ext()는 장치 보고 인터럽트 상태 레지스터(2비트 왼쪽으로 시프트된 15비트 필드, 최대 131068바이트)에서 RX 전송 크기를 가져와 rx_buffer로 해당 바이트 수만큼 장치를 읽습니다. 여기서 rx_buffer의 크기는 WILC_RX_BUFF_SIZE(96K)에 불과합니다. 래핑(wrap) 체크는 현재 오프셋만 처리하며, 크기 자체는 버퍼와 비교되지 않으므로 위조된 SDIO 장치는 최대 약 32K만큼 데이터를 제어하여 드라이버가 rx_buffer를 OOB로 쓰도록 할 수 있습니다.
과도하게 큰 전송은 또한 rx_buffer_offset을 버퍼 끝 너머로 남겨두며, 이후 부호 없는 래핑 체크는 작동하지 않고 오버플로우가 반복될 수 있습니다.
RX 버퍼 크기를 초과하는 모든 전송을 삭제하여 데이터 인터럽트를 확인하고 RX 엔진을 다시 아밍함으로써 위조된 프레임을 폐기하고 수신 작업을 계속할 수 있도록 합니다. 또한 이는 래핑 체크에 의존하는 rx_buffer_offset <= WILC_RX_BUFF_SIZE 불변식을 복원합니다.
이 변경은 대부분의 경우 드라이버 동작에 영향을 미치지 않을 것으로 예상됩니다: 이 체크가 없으면 과도하게 큰 전송은 결국 완료되는 대신 인접한 커널 메모리를 손상시킬 가능성이 높으며, 삭제 경로에서는 정상적인 경로와 동일한 인터럽트 확인 및 RX 엔진 재아밍을 수행하므로 후속 전송이 영향 없이 수신됩니다.
Atuin - Automated Vulnerability Discovery Engine에 의해 발견됨.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.