🇰🇷 한글 설명
Linux 커널의 staging rtl8723bs 드라이버에서 rtw_action_frame_parse() 함수가 프레임 길이를 검증하지 않아 발생하는 OOB(Out-of-Bounds) Read 취약점입니다. 공격자가 조작된 짧은 관리 액션 프레임을 전송할 경우, 프레임 경계를 벗어난 메모리 영역을 읽을 수 있습니다.
💡 쉬운 설명
무선 랜 드라이버가 들어온 데이터의 길이를 제대로 확인하지 않아, 정해진 범위를 넘어선 메모리 정보를 읽어낼 수 있는 문제입니다. 이를 통해 시스템의 민감한 정보가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: rtl8723bs: fix OOB read in rtw_action_frame_parse()
rtw_action_frame_parse() takes a frame_len parameter but never
actually checks it before indexing into the frame body:
const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr);
...
c = frame_body[0];
...
a = frame_body[1];
frame_body already points 24 bytes (sizeof(struct
ieee80211_hdr_3addr)) into frame, so reading frame_body[0] and
frame_body[1] requires frame_len >= 26. A management action frame
shorter than that (e.g. exactly 24 bytes, the minimum a malicious
peer can send) causes a 1-2 byte out-of-bounds read.
This is reachable from rtw_cfg80211_monitor_if_xmit_entry() and
cfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass
attacker/user-influenced frame buffers and lengths straight through.
Add the missing length check before frame_body is dereferenced.
📍 영향받는 시스템
Linux kernel (staging: rtl8723bs driver)
⚔️ 공격 벡터
조작된 짧은 길이의 관리 액션 프레임을 전송하여 메모리 경계 밖의 데이터를 읽음
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 프레임 길이 검증 로직을 적용함
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 이후의 버전인지 확인합니다.