🇰🇷 한글 설명
Linux 커널의 Marvell mwifiex WiFi 드라이버에서 memcpy() 함수가 선언된 필드 크기보다 큰 데이터를 복사하려고 할 때 발생하는 메모리 안전 문제입니다. 일원소 배열을 유연 배열 멤버로 변경하여 해결되었습니다.
💡 쉬운 설명
WiFi 드라이버가 메모리를 잘못된 방식으로 다루고 있는 문제입니다. 커널이 경고를 발생시키지만 실제 악용은 어렵습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()
Replace one-element array with a flexible-array member in
`struct host_cmd_ds_802_11_scan_ext`.
With this, fix the following warning:
elo 16 17:51:58 surfacebook kernel: ------------[ cut here ]------------
elo 16 17:51:58 surfacebook kernel: memcpy: detected field-spanning write (size 243) of single field "ext_scan->tlv_buffer" at drivers/net/wireless/marvell/mwifiex/scan.c:2239 (size 1)
elo 16 17:51:58 surfacebook kernel: WARNING: CPU: 0 PID: 498 at drivers/net/wireless/marvell/mwifiex/scan.c:2239 mwifiex_cmd_802_11_scan_ext+0x83/0x90 [mwifiex]
📍 영향받는 시스템
Linux kernel 5.15 이상을 사용하는 Marvell mwifiex 드라이버가 탑재된 시스템 (Surface 기기, 특정 노트북 등)
⚔️ 공격 벡터
로컬 권한 필요, WiFi 스캔 명령 실행 시 메모리 손상 가능성
🛡️ 대응 방법
커널을 최신 버전으로 업데이트하거나 패치된 mwifiex 드라이버 설치
🔧 검증 코드
출력에서 'memcpy' 및 'mwifiex' 관련 경고가 보이면 취약점이 있는 상태이고, 아무것도 보이지 않으면 정상이거나 드라이버가 로드되지 않은 것입니다.
dmesg | tail -50 | grep -i 'memcpy.*mwifiex' && echo 'Vulnerable' || echo 'Not detected'