🇰🇷 한글 설명
Linux 커널의 rtl8xxxu 드라이버에서 rtl8xxxu_sta_add 함수 호출 시 slab-out-of-bounds 취약점이 발생합니다. 드라이버가 sta_data_size를 설정하지 않아 mac80211이 스테이션 데이터를 위한 메모리를 불충분하게 할당하며, 이로 인해 메모리 경계를 벗어난 쓰기 작업이 발생할 수 있습니다.
💡 쉬운 설명
무선 랜카드 드라이버가 데이터를 저장할 공간을 실제 필요한 크기보다 작게 예약하여 발생하는 문제입니다. 이로 인해 정해진 공간을 넘어 다른 데이터를 덮어쓰는 메모리 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: rtl8xxxu: fix slab-out-of-bounds in rtl8xxxu_sta_add
The driver does not set hw->sta_data_size, which causes mac80211 to
allocate insufficient space for driver private station data in
__sta_info_alloc(). When rtl8xxxu_sta_add() accesses members of
struct rtl8xxxu_sta_info through sta->drv_priv, this results in a
slab-out-of-bounds write.
KASAN report on RISC-V (VisionFive 2) with RTL8192EU adapter:
BUG: KASAN: slab-out-of-bounds in rtl8xxxu_sta_add+0x31c/0x346
Write of size 8 at addr ffffffd6d3e9ae88 by task kworker/u16:0/12
Set hw->sta_data_size to sizeof(struct rtl8xxxu_sta_info) during
probe, similar to how hw->vif_data_size is configured. This ensures
mac80211 allocates sufficient space for the driver's per-station
private data.
Tested on StarFive VisionFive 2 v1.2A board.
📍 영향받는 시스템
Linux kernel (rtl8xxxu driver 사용 시스템)
⚔️ 공격 벡터
특수하게 조작된 무선 네트워크 패킷을 통해 드라이버의 메모리 경계 외 영역에 쓰기 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 rtl8xxxu_sta_add의 메모리 할당 로직 수정
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인