🇰🇷 한글 설명
Linux 커널의 kaweth USB 드라이버가 디바이스 바인딩 전 USB 엔드포인트를 검증하지 않아, 악의적인 장치가 예상과 다른 URB 구조를 가질 경우 커널이 무시하고 접근하여 크래시를 발생시킵니다. 물리적으로 USB 포트에 접근 가능한 공격자가 특수 제작한 악성 USB 네트워크 어댑터를 연결하여 시스템 다운을 유발할 수 있습니다.
💡 쉬운 설명
Linux에서 USB 네트워크 어댑터(kaweth)를 연결할 때 포트 구조를 제대로 확인하지 않아서, 잘못 만들어진 악성 USB 장치를 꽂으면 컴퓨터가 충돌합니다. 실제 USB 포트에 접근할 수 있는 사람이 부팅 전에 특수 장치를 연결하면 시스템을 다운시킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: usb: kaweth: validate USB endpoints
The kaweth driver should validate that the device it is probing has the
proper number and types of USB endpoints it is expecting before it binds
to it. If a malicious device were to not have the same urbs the driver
will crash later on when it blindly accesses these endpoints.
📍 영향받는 시스템
Linux kernel 5.18 이전 버전의 kaweth USB 드라이버 (모든 x86, ARM 플랫폼)
⚔️ 공격 벡터
물리적 USB 포트 접근 가능한 공격자가 악의적으로 제작된 USB 네트워크 어댑터 장치 연결
🛡️ 대응 방법
Linux 커널을 CVE-2026-23312 패치가 포함된 최신 버전으로 업데이트 (일반적으로 5.18.1 이후)
🔧 검증 코드
커널 버전을 확인하고 kaweth.c 파일의 엔드포인트 검증 코드 존재 여부를 확인. Patched면 안전, Not verified면 커널 업데이트 또는 kaweth 모듈 비활성화 필요
uname -r && (test -f /lib/modules/$(uname -r)/source/drivers/net/usb/kaweth.c && grep -q 'validate.*endpoint' /lib/modules/$(uname -r)/source/drivers/net/usb/kaweth.c 2>/dev/null && echo 'Patched' || echo 'Not verified')