🇰🇷 한글 설명
Linux 커널의 mwifiex 드라이버에서 RSN 또는 WPA 정보 요소(IE)의 pairwise-cipher 개수를 검증 없이 읽어 발생하는 경계 외 읽기(Out-of-bounds read) 취약점입니다. 공격자가 조작된 비콘 또는 프로브 응답을 보내면 메모리 상의 데이터를 초과하여 읽을 수 있습니다.
💡 쉬운 설명
와이파이 신호를 읽는 과정에서 데이터의 길이를 제대로 확인하지 않아 발생하는 오류입니다. 나쁜 의도를 가진 와이파이 신호를 받으면 컴퓨터 메모리의 잘못된 부분을 읽어낼 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mwifiex: bound the pairwise-cipher OUI walk to the IE length
mwifiex_search_oui_in_ie() reads a pairwise-cipher (PTK) count from a
beacon/probe-response RSN or WPA information element and then walks that
many 4-byte OUIs, comparing each with memcmp(). The count comes straight
from the (attacker-supplied) IE and is never checked against the
element's own length, and the callers admit the element on element_id
alone (has_ieee_hdr() / has_vendor_hdr(), no length check). A crafted
RSN/WPA IE with a large pairwise count therefore makes the walk read up
to 255 * 4 bytes past the element -- an out-of-bounds read of the
kmemdup()'d beacon buffer, reachable from any AP whose beacon/probe
response is processed during scan-result parsing.
Pass the number of IE bytes available at the OUI list and bound the walk
to the element. Keep the length signed and reject a negative value
before any unsigned arithmetic, so a small or zero IE length cannot
underflow to a large size_t and defeat the bound.
Found by 0sec automated security-research tooling (https://0sec.ai).
📍 영향받는 시스템
Linux kernel (mwifiex driver 사용 시스템)
⚔️ 공격 벡터
조작된 RSN/WPA 정보 요소를 포함한 비콘(Beacon) 또는 프로브 응답(Probe Response) 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 mwifiex 드라이버의 길이 검증 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.