🇰🇷 한글 설명
Linux 커널의 aqc111 USB 네트워크 드라이버에서 RX fixup 과정 중 경계 외 메모리 접근(Out-of-bounds access) 취약점이 발견되었습니다. 악의적인 USB 장치를 연결할 경우 메타데이터 배열의 범위를 벗어난 읽기/쓰기가 발생하여 데이터 오염이나 시스템 불안정을 초래할 수 있습니다.
💡 쉬운 설명
특수한 기능을 가진 가짜 USB 랜카드를 컴퓨터에 연결하면, 컴퓨터의 메모리 영역을 잘못 건드려 정보를 훔치거나 시스템을 고장 낼 수 있는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: usb: aqc111: Fix out-of-bounds accesses in RX fixup
aqc111_rx_fixup() contains several out-of-bounds accesses that can be
triggered by a malicious (or defective) USB device, in particular:
- The metadata array (desc_offset..desc_offset+2*pkt_count) can be out of bounds,
causing OOB reads and (on big-endian systems) OOB endianness flips.
- A packet can overlap the metadata array, causing a later OOB
endianness flip to corrupt data used by a cloned SKB that has already
been handed off into the network stack.
- A packet SKB can be constructed whose tail is far beyond its end,
causing out-of-bounds heap data to be considered part of the SKB's
data.
Found doing variant analysis. Tested it with another driver (ax88179_178a), since
I don't have a aqc111 device to test it, but the code looks very similar.
📍 영향받는 시스템
aqc111 드라이버를 사용하는 Linux 커널 기반 시스템
⚔️ 공격 벡터
취약점이 있는 드라이버를 사용하는 시스템에 악의적으로 조작된 USB 장치를 물리적으로 연결
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인