🇰🇷 한글 설명
Linux 커널의 iwlwifi 드라이버에서 TKIP 키 처리 시 발생하는 버퍼 오버플로우 취약점입니다. 수신된 TKIP 키가 iwl_keyinfo.key 필드의 크기(16바이트)보다 큰 최대 32바이트일 경우, memcpy 과정에서 메모리 경계를 넘어 쓰기가 발생합니다.
💡 쉬운 설명
무선 랜 드라이버가 암호화 키를 저장할 때, 정해진 방보다 더 큰 데이터를 억지로 밀어 넣어 메모리가 망가지는 문제입니다. 이로 인해 시스템이 멈추거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
A received TKIP key may be up to 32 bytes because it may contain
MIC rx/tx keys too. These are not used by iwl and copying these
over overflows the iwl_keyinfo.key field.
Add a check to not copy more data to iwl_keyinfo.key then will fit.
This fixes backtraces like this one:
memcpy: detected field-spanning write (size 32) of single field "sta_cmd.key.key" at drivers/net/wireless/intel/iwlwifi/dvm/sta.c:1103 (size 16)
WARNING: CPU: 1 PID: 946 at drivers/net/wireless/intel/iwlwifi/dvm/sta.c:1103 iwlagn_send_sta_key+0x375/0x390 [iwldvm]
<snip>
Hardware name: Dell Inc. Latitude E6430/0H3MT5, BIOS A21 05/08/2017
RIP: 0010:iwlagn_send_sta_key+0x375/0x390 [iwldvm]
<snip>
Call Trace:
<TASK>
iwl_set_dynamic_key+0x1f0/0x220 [iwldvm]
iwlagn_mac_set_key+0x1e4/0x280 [iwldvm]
drv_set_key+0xa4/0x1b0 [mac80211]
ieee80211_key_enable_hw_accel+0xa8/0x2d0 [mac80211]
ieee80211_key_replace+0x22d/0x8e0 [mac80211]
<snip>
📍 영향받는 시스템
Intel iwlwifi 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
조작된 TKIP 키를 포함한 무선 네트워크 패킷을 전송하여 메모리 오버플로우 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.