🇰🇷 한글 설명
Linux 커널의 USB gadget RNDIS 드라이버에서 configfs를 통해 class, subclass, protocol 옵션에 동시에 접근할 때 경쟁 조건이 발생할 수 있습니다. 이로 인해 옵션 값이 손상되거나 예기치 않은 동작이 발생할 수 있습니다. 뮤텍스를 사용하여 옵션 접근을 보호함으로써 해결됩니다.
💡 쉬운 설명
USB 기기 설정을 여러 프로세스가 동시에 변경하려고 할 때 충돌이 발생합니다. 설정을 한 번에 하나씩만 변경하도록 제한하면 문제가 해결됩니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_rndis: Protect RNDIS options with mutex
The class/subclass/protocol options are suspectible to race conditions
as they can be accessed concurrently through configfs.
Use existing mutex to protect these options. This issue was identified
during code inspection.
📍 영향받는 시스템
RNDIS USB gadget을 지원하는 모든 Linux 커널 (임베디드 장치, IoT 기기 등)
⚔️ 공격 벡터
configfs 인터페이스를 통해 RNDIS 옵션에 동시 다중 접근을 수행하여 경쟁 조건 유발
🛡️ 대응 방법
Linux 커널을 최신 안정 버전으로 업데이트하여 뮤텍스 보호 패치 적용
🔧 검증 코드
CONFIG_USB_GADGET이 y로 설정되어 있으면 RNDIS 가젯 기능이 활성화되어 있으며, 해당 커널 버전에서 영향을 받을 수 있습니다.
grep -E 'CONFIG_USB_GADGET|f_rndis' /boot/config-$(uname -r) 2>/dev/null | head -5