🇰🇷 한글 설명
Linux 커널의 libertas 무선 드라이버에서 모니터 모드 전송 시 길이 검사가 부족하여, 짧은 프레임을 처리할 때 skb 데이터 범위를 벗어난 메모리를 읽을 수 있는 취약점입니다. 패치는 라디오탭 TX 헤더와 목적지 주소 필드를 담을 최소 길이를 먼저 검사하도록 수정합니다.
💡 쉬운 설명
무선 랜 드라이버가 너무 짧은 데이터 패킷을 받으면 그 뒤의 메모리 영역까지 잘못 읽을 수 있는 문제입니다. 패치로 패킷 길이를 먼저 확인해 이런 잘못된 읽기를 막습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: libertas: reject short monitor TX frames
In monitor mode, lbs_hard_start_xmit() casts skb->data to a
radiotap TX header, skips that header, and then copies the 802.11
destination address from offset 4 in the remaining frame. The
generic length check only rejects zero-length and oversized skbs, so
a short monitor frame can be read past the end of the skb data.
Require enough bytes for the radiotap TX header and the destination
address field before using the monitor-mode header layout.
📍 영향받는 시스템
패치가 적용되지 않은 libertas 무선 드라이버 포함 Linux 커널 (정확한 영향 버전은 확인 필요)
⚔️ 공격 벡터
모니터 모드에서 로컬 또는 인접 무선 환경을 통해 비정상적으로 짧은 802.11 프레임을 전송하여 커널 메모리 범위 밖을 읽도록 유도
🛡️ 대응 방법
최신 Linux 커널 보안 업데이트를 적용하거나 해당 커밋이 포함된 커널로 업그레이드하며, libertas 드라이버를 사용하지 않는다면 모듈을 블랙리스트 처리
🔧 검증 코드
커널 버전이 보안 업데이트 이후인지 확인하고, libertas 모듈이 출력되지 않으면 해당 드라이버가 로드되지 않은 것이므로 위험이 낮음, 출력되면 업데이트 적용 여부를 추가 확인
uname -r; lsmod | grep -E 'libertas'