🇰🇷 한글 설명
Azure RTOS USBX의 USB DFU UPLOAD 기능에서 버퍼 오버플로우 취약점이 발견되었습니다. 6.1.12 미만 버전에서 발생하며, 공격자가 메모리 내용을 덮어쓰거나 보안 기능을 우회하고 임의 코드를 실행할 수 있습니다.
💡 쉬운 설명
USB 장치에 데이터를 업로드하는 과정에서 처리 용량을 초과하는 데이터를 보내 시스템을 마비시키거나 해킹할 수 있는 문제입니다. 이로 인해 기기가 공격자의 명령을 수행하게 될 위험이 있습니다.
🇺🇸 원문 (English)
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS ThreadX. Prior to version 6.1.12, the USB DFU UPLOAD functionality may be utilized to introduce a buffer overflow resulting in overwrite of memory contents. In particular cases this may allow an attacker to bypass security features or execute arbitrary code. The implementation of `ux_device_class_dfu_control_request` function prevents buffer overflow during handling of DFU UPLOAD command when current state is `UX_SYSTEM_DFU_STATE_DFU_IDLE`. This issue has been patched, please upgrade to version 6.1.12. As a workaround, add the `UPLOAD_LENGTH` check in all possible states.
📍 영향받는 시스템
Azure RTOS USBX version 6.1.12 미만
⚔️ 공격 벡터
USB DFU UPLOAD 명령을 이용한 버퍼 오버플로우 공격
🛡️ 대응 방법
USBX 버전을 6.1.12 이상으로 업그레이드하거나 모든 상태에서 UPLOAD_LENGTH 체크 로직을 추가하십시오.
🔧 검증 코드
소스 코드 내 해당 함수를 검색하여 현재 적용된 버전의 구현 방식과 보안 패치 여부를 확인합니다.
grep -r "ux_device_class_dfu_control_request" /path/to/usb_source_code