ช่องโหว่ร้ายแรงในชิปเซ็ต Wi-Fi ของ MediaTek: ช่องโหว่ Zero-Click (CVE-2024-20017) คุกคามเราเตอร์และสมาร์ตโฟน
ภาพรวม
- ทีมวิจัยภัยคุกคาม SonicWall Capture Labs ตรวจพบช่องโหว่ CVE-2024-20017 ประเมินผลกระทบ และพัฒนามาตรการบรรเทา
- CVE-2024-20017 เป็นช่องโหว่ zero-click ระดับร้ายแรงที่มีคะแนน CVSS 3.0 อยู่ที่ 9.8 ซึ่งส่งผลต่อชิปเซ็ต Wi-Fi MediaTek MT7622/MT7915 และชุดไดรเวอร์ RTxxxx SoftAP
- MediaTek SDK เวอร์ชัน 7.4.0.1 และก่อนหน้า รวมถึง OpenWrt 19.07 และ 21.02 ที่ถูกใช้ในผลิตภัณฑ์ของผู้ผลิตหลายราย เช่น Ubiquiti, Xiaomi และ Netgear ได้รับผลกระทบ
- ช่องโหว่นี้เปิดให้รันโค้ดจากระยะไกลได้โดยไม่ต้องมีการโต้ตอบจากผู้ใช้ และ MediaTek ได้แจกจ่ายแพตช์เพื่อบรรเทาปัญหานี้แล้ว
- ช่องโหว่นี้ถูกเปิดเผยและแพตช์ไปตั้งแต่เดือนมีนาคม แต่ PoC ที่เพิ่งเผยแพร่ล่าสุดทำให้ความเป็นไปได้ในการนำไปใช้โจมตีสูงขึ้น
ภาพรวมทางเทคนิค
- ช่องโหว่นี้อยู่ใน
wappd ซึ่งเป็น network daemon ที่รวมอยู่ใน MediaTek MT7622/MT7915 SDK และชุดไดรเวอร์ RTxxxx SoftAP
wappd มีหน้าที่ตั้งค่าและจัดการ wireless interface และ access point โดยเฉพาะที่เกี่ยวข้องกับเทคโนโลยี Hotspot 2.0
- สถาปัตยกรรมของ
wappd ประกอบด้วยตัวบริการเครือข่ายเอง ชุดบริการภายในเครื่องที่โต้ตอบกับ wireless interface ของอุปกรณ์ และช่องทางสื่อสารระหว่างคอมโพเนนต์ผ่าน Unix domain socket
- ช่องโหว่นี้เกิดจาก buffer overflow ที่เกิดขึ้นเมื่อมีการนำค่าความยาวซึ่งดึงมาจากข้อมูลแพ็กเก็ตที่ผู้โจมตีควบคุมโดยตรงไปใช้ในการคัดลอกหน่วยความจำ
การกระตุ้นให้เกิดช่องโหว่
- ช่องโหว่นี้เกิดขึ้นในฟังก์ชัน
IAPP_RcvHandlerSSB โดยค่าความยาวที่ผู้โจมตีควบคุมจะถูกส่งต่อไปยังมาโคร IAPP_MEM_MOVE
- ไม่มีการตรวจสอบขอบเขตใด ๆ นอกจากตรวจว่าต้องไม่เกินความยาวแพ็กเก็ตสูงสุด 1600 ไบต์
- ผู้โจมตีต้องส่งแพ็กเก็ตโดยแนบโครงสร้างที่คาดหมายไว้ไว้ด้านหน้าของ payload สำหรับโจมตี
- ความยาวของโครงสร้าง
RT_IAPP_HEADER ต้องมีขนาดเล็ก และฟิลด์ RT_IAPP_HEADER.Command ต้องเป็น 50
การนำไปใช้โจมตี
- โค้ด exploit ที่เผยแพร่สาธารณะใช้ ROP chain เพื่อทำให้เกิดการรันโค้ดจากระยะไกลด้วยเทคนิคเขียนทับ global address table
- มีการใช้การเรียก
system() เพื่อรันคำสั่งที่ส่ง reverse shell กลับไปยังผู้โจมตี
- reverse shell ถูกตั้งค่าด้วยเครื่องมือ Bash และ Netcat
การป้องกันของ SonicWall
- SonicWall ได้เผยแพร่ซิกเนเจอร์ต่อไปนี้เพื่อให้ลูกค้าป้องกันการโจมตีจากช่องโหว่นี้ได้
- IPS: 20322 MediaTek MT7915 wlan Service OOB Write 1
- IPS: 20323 MediaTek MT7915 wlan Service OOB Write 2
คำแนะนำในการบรรเทาความเสี่ยง
- เนื่องจากมีการเผยแพร่โค้ด exploit แล้ว จึงขอแนะนำอย่างยิ่งให้ผู้ใช้อัปเกรดเป็นเฟิร์มแวร์เวอร์ชันล่าสุดสำหรับชิปเซ็ตที่ได้รับผลกระทบ
ลิงก์ที่เกี่ยวข้อง
สรุปโดย GN⁺
- บทความนี้กล่าวถึงช่องโหว่ zero-click ระดับร้ายแรงในชิปเซ็ต Wi-Fi ของ MediaTek ซึ่งเปิดให้รันโค้ดจากระยะไกลได้โดยไม่ต้องมีการโต้ตอบจากผู้ใช้
- ทีมวิจัยของ SonicWall ตรวจพบช่องโหว่นี้และพัฒนามาตรการบรรเทา พร้อมแนะนำให้ผู้ใช้อัปเกรดเป็นเฟิร์มแวร์ล่าสุด
- ช่องโหว่นี้ส่งผลต่อเราเตอร์และสมาร์ตโฟนจากผู้ผลิตหลายราย และ PoC ที่เพิ่งเผยแพร่ล่าสุดทำให้ความเสี่ยงในการถูกนำไปใช้โจมตีเพิ่มขึ้น
- ผลิตภัณฑ์ที่มีความสามารถใกล้เคียงกัน ได้แก่ ชิปเซ็ต Wi-Fi ของ Qualcomm และการตรวจสอบอัปเดตด้านความปลอดภัยเป็นประจำเป็นสิ่งสำคัญ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีการขอให้เปลี่ยนลิงก์ของ OP ไปเป็นแหล่งข้อมูลต้นฉบับแทนลิงก์โฆษณา
มีความเห็นว่าโค้ดต้นฉบับไดรเวอร์ใน vendor SDK ของ Mediatek เละเทะมากเมื่อเทียบกับ mt76
มีความเห็นว่าชื่อเรื่องอาจทำให้เข้าใจผิด
มีคำถามเกี่ยวกับหลักเกณฑ์การตั้งชื่อของ MediaTek
แม้จะบอกว่า OpenWrt 19.07 และ 21.02 ได้รับผลกระทบ แต่ official build ใช้เฉพาะไดรเวอร์ mt76 เท่านั้น
กำลังเปลี่ยนการ์ด Wi-Fi MediaTek RZ616 ในโน้ตบุ๊กที่ใช้ CPU AMD เป็นการ์ด Wi-Fi ของ Intel
มีโทรศัพท์ที่ใช้ชิปเซ็ต MediaTek และจำได้ว่าผู้ขายเคยเปลี่ยนไปใช้ผลิตภัณฑ์อื่นเพราะปัญหาคุณภาพของผลิตภัณฑ์ MediaTek
MediaTek SDK เวอร์ชัน 7.4.0.1 หรือต่ำกว่า และ OpenWrt 19.07 กับ 21.02 ได้รับผลกระทบ
มีความเห็นว่าไม่เข้าใจเลยว่าทำไมผู้ขายระดับ C ถึงไม่เปิดซอร์สเฟิร์มแวร์