🔍 CVE-2026-31394

5.5
CVSS Score
MEDIUM
2026-04-03
2026-11-05 22:18
✅ 완료

🇰🇷 한글 설명

Linux 커널 mac80211 모듈의 AP_VLAN 인터페이스 처리 중 NULL 포인터 역참조로 인한 커널 크래시 취약점입니다. ieee80211_chan_bw_change() 함수가 VLAN 스테이션의 링크 데이터에 접근할 때 chandef->chan이 NULL인 상태에서 대역폭 변경(CSA)이 발생하면 시스템이 크래시됩니다.

💡 쉬운 설명

WiFi 가상 인터페이스 설정 변경 시 커널이 잘못된 메모리 주소에 접근하여 시스템이 먹통이 되는 문제입니다. 무선 네트워크 채널 변경 중에 특정 조건에서만 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: mac80211: fix crash in ieee80211_chan_bw_change for AP_VLAN stations ieee80211_chan_bw_change() iterates all stations and accesses link->reserved.oper via sta->sdata->link[link_id]. For stations on AP_VLAN interfaces (e.g. 4addr WDS clients), sta->sdata points to the VLAN sdata, whose link never participates in chanctx reservations. This leaves link->reserved.oper zero-initialized with chan == NULL, causing a NULL pointer dereference in __ieee80211_sta_cap_rx_bw() when accessing chandef->chan->band during CSA. Resolve the VLAN sdata to its parent AP sdata using get_bss_sdata() before accessing link data. [also change sta->sdata in ARRAY_SIZE even if it doesn't matter]

📍 영향받는 시스템

Linux 커널 5.x~6.x (mac80211 모듈 사용하는 802.11 드라이버 탑재 시스템)

⚔️ 공격 벡터

로컬 네트워크 접근 권한 필요. AP_VLAN 인터페이스 설정 후 채널 변경 명령 또는 CSA(Channel Switch Announcement) 프레임 수신

🛡️ 대응 방법

Linux 커널을 최신 패치 버전으로 업데이트하거나 mac80211 모듈의 ieee80211_chan_bw_change() 함수에서 get_bss_sdata() 호출로 VLAN 해석 수정

🔧 검증 코드

커널 버전 5.x~6.x 확인 후, mac80211 모듈 로드 여부를 확인합니다. 패치 적용 후 커널 재부팅이 필요합니다.

Shell / Script
uname -r | grep -E '^[456]\.[0-9]+'; modinfo mac80211 2>/dev/null | grep version || echo 'mac80211 module not loaded'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel