🇰🇷 한글 설명
Linux 커널의 rtl8723bs 드라이버 내 rtw_restruct_wmm_ie() 함수에서 경계 검사 미흡으로 인한 Out-of-Bounds(OOB) Read 취약점이 발견되었습니다. 공격자가 조작된 IE(Information Element) 버퍼를 통해 메모리 경계를 벗어난 읽기 작업을 수행할 수 있습니다.
💡 쉬운 설명
무선 랜 드라이버가 데이터를 읽을 때 데이터의 끝을 제대로 확인하지 않아, 허용되지 않은 메모리 영역을 엿볼 수 있는 문제입니다. 해커가 특수하게 만든 무선 신호를 보내 시스템 정보를 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: rtl8723bs: fix OOB read in rtw_restruct_wmm_ie()
rtw_restruct_wmm_ie() scans in_ie for a WMM IE with:
while (i < in_len) {
...
if (i + 5 < in_len && in_ie[i] == 0xDD && ...) {
...
break;
}
i += (in_ie[i + 1] + 2); /* to the next IE element */
}
When the "i + 5 < in_len" match check fails simply because i is
within 5 bytes of the end of the buffer (i.e. no WMM IE was found
near the tail of in_ie), execution falls through to
"i += (in_ie[i + 1] + 2)", which reads in_ie[i + 1]. If i == in_len
- 1 at that point, this is a 1-byte out-of-bounds read of an
attacker-influenced IE buffer built from association/scan data.
Commit a75281626fc8f ("staging: rtl8723bs: fix potential
out-of-bounds read in rtw_restruct_wmm_ie") added the "i + 5 <
in_len" guard to the match condition itself, but did not add an
equivalent guard before the fallthrough advance, so the same class
of OOB read remained reachable through the non-matching path.
Add an explicit bounds check before advancing to the next IE.
📍 영향받는 시스템
Linux kernel (staging: rtl8723bs driver 포함 버전)
⚔️ 공격 벡터
조작된 WMM IE(Information Element)를 포함한 무선 연결/스캔 데이터 전송
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하거나 해당 드라이버의 경계 검사 로직이 수정된 커밋을 적용하십시오.
🔧 검증 코드
현재 사용 중인 커널 버전과 드라이버 정보를 확인하여 패치된 커밋(a75281626fc8f) 이후 버전인지 대조하십시오.
uname -r && modinfo rtl8723bs 2>/dev/null | grep -i version