Jason Geffner และ Jan Bee นักวิจัยด้านความมั่นคงปลอดภัยจาก Google ออกมาเปิดเผยถึงช่องโหว่บนซอฟต์แวร์ Endpoint Antivirus 6 for macOS ของ ESET ซึ่งช่วยให้แฮ็คเกอร์สามารถสั่งรันโค้ดแปลกปลอมบนเครื่องของเหยื่อโดยใช้สิทธิ์ Root จากระยะไกลโดยไม่จำเป็นต้องพิสูจน์ตัวตนได้ แนะให้ผู้ใช้อัปเดตแพทช์ล่าสุดโดยด่วน
ใช้ XML Parser Library ที่มีช่องโหว่
ช่องโหว่ Remote Code Execution (RCE) นี้มีรหัส CVE-2016-9892 ถูกค้นพบเมื่อต้นเดือนพฤศจิกายนที่ผ่านมา โดยมีสาเหตุมาจาก XML Parsing Library ที่ใช้อยู่มีช่องโหว่ กล่าวคือ โปรแกรม Antivirus เวอร์ชันที่มีปัญหานี้ ใช้ POCO XML Parser Library เวอร์ชัน 1.4.6p1 ซึ่งแตกย่อยมาจาก Expat XML Parser Library เวอร์ชัน 2.0.1 ที่เปิดให้ใช้งานเมื่อเดือนมิถุนายน 2007 อย่างไรก็ตาม ก่อนหน้านี้ Expat ถูกค้นพบว่ามีช่องโหว่ CVE-2016-0718 ซึ่งช่วยให้แฮ็คเกอร์สามารถโจมตีแบบ RCE ผ่านทางการส่งข้อมูล XML ที่ผิดปกติ (Malformed XML Content) ได้ ส่งผลให้ POCO Library สืบทอดช่องโหว่นี้มาด้วยเช่นกัน
เกิดความบกพร่องในกระบวนการขณะตรวจสอบ License
จากการตรวจสอบพบว่า ESET Antivirus บน macOS จะรับส่งข้อมูลผ่าน XML ก็ต่อเมื่อทำการยืนยัน License ที่ใช้งานขณะเริ่มรันโปรแกรม เมื่อ ESET Antivirus Daemon ส่งข้อมูลไปยัง ESET Server เพื่อตรวจสอบว่า License ของโปรแกรมที่รันอยู่ถูกต้องหรือไม่ แฮ็คเกอร์สามารถโจมตีแบบ Man-in-the-Middle เพื่อดักจับทราฟฟิกดังกล่าว แล้วทำการส่งไฟล์ XML ที่ผิดปกติตอบกลับไปแทน เมื่อ XML Parser Library ประมวลผล โค้ดแปลกปลอมที่ฝังอยู่ข้างใน XML ก็จะถูกรันทันที ที่แย่คือ Daemon ที่ใช้ตรวจสอบ License ถูกรันด้วยสิทธิ์ Root ส่งผลให้โค้ดแปลกปลอมจากแฮ็คเกอร์ก็จะถูกรันด้วยสิทธิ์ Root สูงสุดเช่นเดียวกัน
ไม่มีการตรวจสอบ HTTPS Certificate
นอกจากนี้ Geffner และ Bee ยังกล่าวโทษ ESET อีกว่า ESET ไม่มีการตรวจสอบ HTTPS Certificate ในกระบวนการตรวจสอบ License ส่งผลให้แฮ็คเกอร์สามารถโจมตีแบบ Man-in-the-Middle เพื่อดักจับข้อมูลแล้วส่งข้อมูลปลอมกลับไปเพื่อรันโค้ดบนเครื่องของเหยื่อได้โดยที่โปรแกรม Antivirus ไม่รู้ตัว
นักวิจัยทั้งสองได้ปล่อยโค้ดสำหรับ PoC ซึ่งแสดงให้ว่าสามารถใช้โปรแกรม Antivirus ของ ESET ในการหยุดระบบของ macOS ได้ ผู้ที่สนใจสามารถดูรายละเอียดเชิงเทคนิคเกี่ยวกับช่องโหว่ได้ที่: http://seclists.org/fulldisclosure/2017/Feb/68
สำหรับผู้ที่ใช้ ESET Endpoint Antivirus for macOS แนะนำให้อัปเดตแพทช์เป็นเวอร์ชัน 6.4.168.0 เพื่ออุดช่องโหว่ดังกล่าว