GN⁺: MediaTek Wi-Fi 칩셋의 치명적 익스플로잇: 제로 클릭 취약점
(blog.sonicwall.com)MediaTek Wi-Fi 칩셋의 심각한 취약점: Zero-Click 취약점(CVE-2024-20017)이 라우터와 스마트폰을 위협함
개요
- SonicWall Capture Labs 위협 연구팀은 CVE-2024-20017 취약점을 인지하고, 그 영향력을 평가하여 완화 조치를 개발함
- CVE-2024-20017은 CVSS 3.0 점수 9.8의 심각한 zero-click 취약점으로, MediaTek Wi-Fi 칩셋 MT7622/MT7915 및 RTxxxx SoftAP 드라이버 번들에 영향을 미침
- Ubiquiti, Xiaomi, Netgear 등의 다양한 제조업체 제품에 사용되는 MediaTek SDK 버전 7.4.0.1 및 이전 버전, OpenWrt 19.07 및 21.02가 영향을 받음
- 이 취약점은 사용자 상호작용 없이 원격 코드 실행을 허용하며, MediaTek은 이를 완화하기 위한 패치를 배포함
- 이 취약점은 3월에 공개되고 패치되었으나, 최근에 공개된 PoC로 인해 악용 가능성이 높아짐
기술적 개요
- 취약점은 MediaTek MT7622/MT7915 SDK 및 RTxxxx SoftAP 드라이버 번들에 포함된 네트워크 데몬인 wappd에 존재함
- wappd는 무선 인터페이스와 액세스 포인트를 구성하고 관리하는 역할을 하며, 특히 Hotspot 2.0 기술과 관련됨
- wappd의 아키텍처는 네트워크 서비스 자체, 장치의 무선 인터페이스와 상호작용하는 로컬 서비스 세트, 그리고 Unix 도메인 소켓을 통한 구성 요소 간 통신 채널로 구성됨
- 취약점은 공격자가 제어하는 패킷 데이터에서 직접 가져온 길이 값을 메모리 복사에 사용하여 발생하는 버퍼 오버플로우로 인해 발생함
취약점 유발
- 취약점은 IAPP_RcvHandlerSSB 함수에서 발생하며, 공격자가 제어하는 길이 값이 IAPP_MEM_MOVE 매크로에 전달됨
- 최대 패킷 길이 1600 바이트를 초과하지 않는지 확인하는 것 외에는 경계 검사가 이루어지지 않음
- 공격자는 예상되는 구조를 공격 페이로드 앞에 붙여 패킷을 전송해야 함
- RT_IAPP_HEADER 구조체의 길이는 작아야 하며, RT_IAPP_HEADER.Command 필드는 50이어야 함
악용
- 공개된 익스플로잇 코드는 ROP 체인을 사용하여 전역 주소 테이블 덮어쓰기 기법으로 원격 코드 실행을 달성함
-
system()
호출을 활용하여 역셸을 공격자에게 보내는 명령을 실행함 - 역셸은 Bash와 Netcat 도구를 사용하여 설정됨
SonicWall 보호
- SonicWall 고객이 이 취약점으로 인한 악용에 대비할 수 있도록 다음 서명이 배포됨
- IPS: 20322 MediaTek MT7915 wlan Service OOB Write 1
- IPS: 20323 MediaTek MT7915 wlan Service OOB Write 2
완화 권장 사항
- 익스플로잇 코드가 공개되었으므로, 사용자는 해당 칩셋의 최신 펌웨어 버전으로 업그레이드할 것을 강력히 권장함
관련 링크
GN⁺의 정리
- 이 기사는 MediaTek Wi-Fi 칩셋의 심각한 zero-click 취약점에 대해 다루고 있으며, 이는 사용자 상호작용 없이 원격 코드 실행을 허용함
- SonicWall 연구팀은 이 취약점을 인지하고 완화 조치를 개발하였으며, 사용자에게 최신 펌웨어로 업그레이드할 것을 권장함
- 이 취약점은 다양한 제조업체의 라우터와 스마트폰에 영향을 미치며, 최근 공개된 PoC로 인해 악용 가능성이 높아짐
- 유사한 기능을 가진 제품으로는 Qualcomm의 Wi-Fi 칩셋이 있으며, 보안 업데이트를 주기적으로 확인하는 것이 중요함
Hacker News 의견
-
OP의 링크를 광고가 아닌 원본 소스로 변경해달라는 요청이 있음
- 원본 소스: CoffinSec 블로그
-
Mediatek의 벤더 SDK 드라이버 소스 코드가 mt76과 비교해 엉망이라는 의견
- 일부 사용자는 벤더 드라이버를 사용한 aftermarket 펌웨어를 실행 중임
- Mediatek의 WiSoC 부서에는 FOSS 커뮤니티와 적극적으로 소통하는 엔지니어들이 있음
- 이들은 mt76을 사용하는 OpenWrt 포크를 유지 중임
- 관련 링크: Mediatek OpenWrt Feeds
-
제목이 오해를 불러일으킬 수 있다는 의견
- mt76 Wi-Fi를 사용하는 라우터를 가지고 있어 펌웨어나 실리콘 버그일까 걱정했으나, 벤더의 SDK 문제임을 알고 안도함
- 메인라인 커널과 hostapd에서 mt76 지원이 좋음에도 불구하고 벤더 SDK를 사용하는 것이 이해되지 않음
-
MediaTek의 명명 규칙에 대한 의문
- mt6631 Wi-Fi 칩을 사용하는 기기가 영향을 받지 않는다고 추정하지만, 확실하지 않음
-
OpenWrt 19.07과 21.02가 영향을 받는다고 하지만, 공식 빌드는 mt76 드라이버만 사용함
-
AMD CPU가 장착된 노트북에 MediaTek RZ616 Wi-Fi 카드가 포함되어 있어 Intel Wi-Fi 카드로 교체 중임
- 교체 후 RZ616 카드가 쌓여서 문제임
-
MediaTek 칩셋을 사용하는 휴대폰이 있는데, 벤더가 MediaTek 제품의 품질 문제로 인해 다른 제품으로 전환했음을 기억함
- 휴대폰의 Wi-Fi가 어떻게 작동하는지 모르겠음
- Wi-Fi를 거의 사용하지 않지만, 휴대폰이 영향을 받는지 알고 싶음
-
MediaTek SDK 버전 7.4.0.1 이하와 OpenWrt 19.07 및 21.02가 영향을 받음
- 취약점은 MediaTek MT7622/MT7915 SDK와 RTxxxx SoftAP 드라이버 번들에 포함된 wappd 네트워크 데몬에 있음
- OpenWrt는 wappd를 사용하지 않는 것으로 보임
-
C급 벤더들이 펌웨어를 오픈 소스로 공개하지 않는 이유를 이해할 수 없다는 의견