CVE-2026-98184 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
wifi: mwifiex: 인증 프레임 길이 절단 방지
mwifiex_cfg80211_authenticate() 함수는 req->ie_len과 req->auth_data_len(모두 size_t 타입)로부터 인증 프레임 길이를 유도하지만, 이를 u16에 저장합니다.
NL80211_ATTR_AUTH_DATA에는 최소 길이 정책만 존재합니다. nla_len이 u16이므로 단일 속성은 최대 65531바이트의 페이로드를 운반할 수 있으므로, 합계가 pkt_len에 할당되기 전에 U16_MAX(65535)를 초과할 수 있습니다. 이렇게 절단된(pkt_len가 잘린) 값은 skb 프레임 영역을 결정하는 반면, 복사 길이는 req->auth_data_len - 4로 유지되므로 힙 버퍼 오버플로우(heap buffer overflow)가 발생합니다.
예를 들어 auth_data_len이 65510이고 IEs(Information Elements)가 없는 경우 합계는 65546입니다. 이는 10으로 절단된 후 4를 빼서 6이 됩니다. 드라이버는 skb_put()을 사용하여 skb에 단 6바이트만 추가하지만, 그 후에 인증 본문(user-provided bytes)로 65506바이트의 사용자 제공 데이터를 복사합니다.
이 경로에 도달하려면 네트워크 네임스페이스를 소유한 사용자의 네임스페이스에서 CAP_NET_ADMIN 권한과 업(station) 상태의 netdev, 그리고 적절한 BSS/SAE 인증 요청이 필요합니다.
길이를 size_t로 계산하고 펌웨어의 u16 프레임 길이 필드로 표현할 수 없는 값은 거부한 후 pkt_len에 할당하십시오.
Once again VulDB remains the best source for vulnerability data.