🇰🇷 한글 설명
Linux 커널의 wilc1000 Wi-Fi 드라이버에서 연결 응답(association response)의 길이를 검증하기 전에 헤더 크기를 차감하여 발생하는 취약점입니다. 입력된 데이터 길이가 헤더 크기보다 작을 경우 정수 언더플로우가 발생하여 잘못된 메모리 영역을 참조하거나 읽는 Out-of-bounds read(CWE-125)가 발생할 수 있습니다.
💡 쉬운 설명
Wi-Fi 연결 과정에서 조작된 짧은 데이터를 보내면, 컴퓨터가 잘못된 메모리 위치를 읽으려다 오류가 발생하거나 보안 문제가 생길 수 있습니다. 데이터의 길이를 먼저 확인하지 않아 발생하는 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: wilc1000: validate assoc response length before subtracting header
wilc_parse_assoc_resp_info() computes the trailing IE length as
ies_len = buffer_len - sizeof(*res);
without first checking that buffer_len is at least sizeof(struct
wilc_assoc_resp) (6 bytes). buffer_len is the length reported for a
received association response (host_int_parse_assoc_resp_info() passes
hif_drv->assoc_resp / assoc_resp_info_len straight in) and must be
validated before the driver accesses the fixed header.
For a frame shorter than the 6-byte fixed header, the subtraction wraps.
For a four-byte response the result is truncated to a u16 ies_len of
65534, so kmemdup() then attempts to copy 65534 bytes starting at
buffer + sizeof(*res), beyond the valid association-response data
(CWE-125). A response shorter than four bytes can also cause an
out-of-bounds read of res->status_code at offsets 2 and 3.
Reject frames too short to hold the fixed header before touching the
header or computing ies_len. Also set the connection status to a failure
on this path: the caller falls through to a
"conn_info->status == WLAN_STATUS_SUCCESS" check after the parser
returns, so leaving the status untouched could let a malformed short
response be treated as a successful association.
📍 영향받는 시스템
Linux kernel (wilc1000 Wi-Fi driver 사용 시스템)
⚔️ 공격 벡터
조작된 짧은 길이의 Wi-Fi 연결 응답 프레임을 전송하여 메모리 오류 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 wilc1000 드라이버의 길이 검증 로직을 적용해야 합니다.
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 패치된 버전인지 보안 공지(CVE-2026-68196 관련)와 대조합니다.
📊 CVSS Vector String
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:H
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux