🇰🇷 한글 설명
Linux 커널의 rtl8723bs 드라이버에서 HT_caps_handler() 함수가 802.11 AssocResponse 프레임의 길이를 검증하지 않아 발생하는 OOB(Out-of-Bounds) 쓰기 취약점입니다. 악의적인 AP가 길이를 조작할 경우 인접한 메모리 영역에 최대 229바이트를 덮어쓸 수 있습니다.
💡 쉬운 설명
무선 공유기가 가짜 정보를 보내 컴퓨터의 메모리 영역을 침범하여 시스템을 망가뜨릴 수 있는 보안 결함입니다. 공격자가 조작된 신호를 보내면 컴퓨터 내부의 중요한 데이터가 잘못된 값으로 바뀔 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: rtl8723bs: fix OOB write in HT_caps_handler()
HT_caps_handler() iterates pIE->length bytes and writes into
HT_caps.u.HT_cap[], which is a fixed 26-byte array (sizeof struct
HT_caps_element). Because pIE->length is a raw u8 from an over-the-air
802.11 AssocResponse frame and is never validated, a malicious AP can
set it up to 255, causing up to 229 bytes of out-of-bounds writes into
adjacent fields of struct mlme_ext_info.
Truncate the iteration count to the size of HT_caps.u.HT_cap using
umin() so that data from a longer-than-expected IE is silently ignored
rather than written out of bounds, preserving interoperability with APs
that pad the element. An early return on oversized IEs was considered
but rejected: it would bypass the pmlmeinfo->HT_caps_enable = 1
assignment that precedes the loop, silently disabling HT mode for APs
that append extra bytes to the HT Capabilities IE.
📍 영향받는 시스템
Linux kernel (staging: rtl8723bs driver 포함 버전)
⚔️ 공격 벡터
악의적인 무선 액세스 포인트(AP)를 통한 조작된 802.11 AssocResponse 프레임 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 umin()을 통한 길이 검증 로직을 적용해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인합니다.