🔍 CVE-2026-93805

0.0
CVSS Score
UNKNOWN
2026-09-24
2026-10-03 11:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 cfg80211 구성 요소에서 MLME 콜백 프레임의 길이를 검증하기 전에 트레이스포인트를 호출하여 발생하는 취약점입니다. 특정 서브타입의 최소 프레임 크기를 확인하지 않아, 예상보다 짧은 프레임이 들어올 경우 경계 밖의 메모리를 읽는 Out-of-bounds read가 발생할 수 있습니다.

💡 쉬운 설명

와이파이 신호를 처리하는 과정에서 데이터의 길이가 충분한지 확인하지 않아, 잘못된 데이터가 들어오면 시스템의 허용되지 않은 메모리 영역을 읽을 수 있는 문제입니다. 이는 시스템의 안정성을 해치거나 보안 정보를 노출할 위험이 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: validate rx/tx MLME callback frame lengths before access cfg80211_rx_mlme_mgmt() and cfg80211_tx_mlme_mgmt() call tracepoints before rejecting frames shorter than the frame-control field. After that, they only require len >= 2 before dispatching into subtype handlers that assume their fixed fields are present. The frames that trip this are not shorter than 2 bytes; they are short relative to their subtype. mwifiex is a concrete in-tree example on the length side: mwifiex_process_mgmt_packet() only requires a 4-address ieee80211_hdr plus the 2-byte firmware length prefix before handing the frame to cfg80211_rx_mlme_mgmt(). After stripping the length prefix and removing addr4, pkt_len can be exactly 24: a bare 3-address management header with no reason-code body. The existing WARN_ON(len < 2) does not fire on such a frame, and cfg80211_process_deauth() then reads u.deauth.reason_code as a two-byte access starting at offset 24, immediately past the 24-byte buffer. Add a frame-control length gate, then validate each subtype's minimum frame size in an if/else-if chain that mirrors the dispatch logic. Trace only after the frame is known to be well-formed. Side effects of this change: - The WARN_ON(len < 2) is dropped. It only guarded the frame_control read, never the subtype fixed fields, and it does not fire on the frames that actually trigger the out-of-bounds read (which are >= 2). The len >= 2 check is kept as the guard before dereferencing frame_control, but without the warning: these are exported callbacks and a malformed frame from a driver should be dropped silently rather than backtraced. - cfg80211_tx_mlme_mgmt() previously routed every non-deauth subtype through disassociation handling; it now silently ignores unrecognised subtypes.

📍 영향받는 시스템

Linux Kernel (cfg80211 모듈을 사용하는 시스템)

⚔️ 공격 벡터

조작된 짧은 길이의 802.11 관리 프레임을 전송하여 발생

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel