ในไดรเวอร์สำหรับชิปไร้สายของ Broadcom
ปัญหาถูกระบุโดยวิศวกรรมย้อนกลับเฟิร์มแวร์ของ Broadcom ชิปที่ได้รับผลกระทบมีการใช้กันอย่างแพร่หลายในแล็ปท็อป สมาร์ทโฟน และอุปกรณ์ผู้บริโภคหลากหลายประเภท ตั้งแต่สมาร์ททีวีไปจนถึงอุปกรณ์ Internet of Things โดยเฉพาะชิป Broadcom ถูกใช้ในสมาร์ทโฟนจากผู้ผลิตเช่น Apple, Samsumg และ Huawei เป็นที่น่าสังเกตว่า Broadcom ได้รับแจ้งถึงช่องโหว่ในเดือนกันยายน 2018 แต่ใช้เวลาประมาณ 7 เดือนในการเปิดตัวการแก้ไขโดยประสานงานกับผู้ผลิตอุปกรณ์
ช่องโหว่สองประการส่งผลกระทบต่อเฟิร์มแวร์ภายในและอาจอนุญาตให้เรียกใช้โค้ดในสภาพแวดล้อมของระบบปฏิบัติการที่ใช้ในชิป Broadcom ซึ่งทำให้สามารถโจมตีสภาพแวดล้อมที่ไม่ได้ใช้ Linux ได้ (เช่น ความเป็นไปได้ของการโจมตีอุปกรณ์ Apple ได้รับการยืนยันแล้ว
ช่องโหว่ของไดรเวอร์เกิดขึ้นทั้งในไดรเวอร์ wl ที่เป็นกรรมสิทธิ์ (SoftMAC และ FullMAC) และโอเพ่นซอร์ส brcmfmac (FullMAC) ตรวจพบบัฟเฟอร์ล้นสองครั้งในไดรเวอร์ wl ซึ่งถูกโจมตีเมื่อจุดเชื่อมต่อส่งข้อความ EAPOL ที่มีรูปแบบพิเศษในระหว่างขั้นตอนการเจรจาการเชื่อมต่อ (การโจมตีสามารถทำได้เมื่อเชื่อมต่อกับจุดเชื่อมต่อที่เป็นอันตราย) ในกรณีของชิปที่มี SoftMAC ช่องโหว่จะนำไปสู่การประนีประนอมเคอร์เนลของระบบ และในกรณีของ FullMAC โค้ดสามารถดำเนินการได้จากฝั่งเฟิร์มแวร์ brcmfmac มีบัฟเฟอร์ล้นและข้อผิดพลาดในการตรวจสอบเฟรมที่ใช้โดยการส่งเฟรมควบคุม ปัญหากับไดรเวอร์ brcmfmac ในเคอร์เนล Linux
ช่องโหว่ที่ระบุ:
- CVE-2019-9503 - ลักษณะการทำงานที่ไม่ถูกต้องของไดรเวอร์ brcmfmac เมื่อประมวลผลเฟรมควบคุมที่ใช้ในการโต้ตอบกับเฟิร์มแวร์ หากเฟรมที่มีเหตุการณ์เฟิร์มแวร์มาจากแหล่งภายนอก ไดรเวอร์จะละทิ้งเฟรมนั้น แต่หากได้รับเหตุการณ์ผ่านบัสภายใน เฟรมจะถูกข้ามไป ปัญหาคือเหตุการณ์จากอุปกรณ์ที่ใช้ USB จะถูกส่งผ่านบัสภายใน ซึ่งช่วยให้ผู้โจมตีสามารถส่งเฟรมควบคุมเฟิร์มแวร์ได้สำเร็จเมื่อใช้อแด็ปเตอร์ไร้สายที่มีอินเทอร์เฟซ USB
- CVE-2019-9500 – เมื่อเปิดใช้งานคุณสมบัติ “Wake-up on Wireless LAN” เป็นไปได้ที่จะทำให้เกิดฮีปโอเวอร์โฟลว์ในไดรเวอร์ brcmfmac (ฟังก์ชัน brcmf_wowl_nd_results) โดยการส่งเฟรมควบคุมที่แก้ไขเป็นพิเศษ ช่องโหว่นี้สามารถใช้เพื่อจัดระเบียบการเรียกใช้โค้ดในระบบหลักหลังจากที่ชิปถูกโจมตีหรือใช้ร่วมกับช่องโหว่ CVE-2019-9503 เพื่อหลีกเลี่ยงการตรวจสอบในกรณีที่มีการส่งเฟรมควบคุมจากระยะไกล
- CVE-2019-9501 - บัฟเฟอร์ล้นในไดรเวอร์ wl (ฟังก์ชัน wlc_wpa_sup_eapol) ที่เกิดขึ้นเมื่อประมวลผลข้อความที่มีเนื้อหาฟิลด์ข้อมูลผู้ผลิตเกิน 32 ไบต์
- CVE-2019-9502 - บัฟเฟอร์ล้นในไดรเวอร์ wl (ฟังก์ชัน wlc_wpa_plumb_gtk) เกิดขึ้นเมื่อประมวลผลข้อความที่มีเนื้อหาฟิลด์ข้อมูลผู้ผลิตเกิน 164 ไบต์
ที่มา: opennet.ru