บริษัทอีคลิปเซียม
การวิเคราะห์เพิ่มเติมแสดงให้เห็นว่าปัญหาเหล่านี้ส่งผลกระทบต่อเฟิร์มแวร์ของตัวควบคุม BMC ที่ใช้ในแพลตฟอร์มเซิร์ฟเวอร์ Gigabyte Enterprise Servers ซึ่งใช้ในเซิร์ฟเวอร์จากบริษัทต่างๆ เช่น Acer, AMAX, Bigtera, Ciara, Penguin Computing และ sysGen ตัวควบคุม BMC ที่มีปัญหาใช้เฟิร์มแวร์ MergePoint EMS ที่มีช่องโหว่ซึ่งพัฒนาโดย Avocent ผู้จำหน่ายบุคคลที่สาม (ปัจจุบันเป็นส่วนหนึ่งของ Vertiv)
ช่องโหว่แรกเกิดจากการขาดการตรวจสอบการเข้ารหัสของการอัพเดตเฟิร์มแวร์ที่ดาวน์โหลด (ใช้การตรวจสอบการตรวจสอบ CRC32 เท่านั้น
ช่องโหว่ที่สองมีอยู่ในรหัสอัปเดตเฟิร์มแวร์และอนุญาตให้คุณแทนที่คำสั่งของคุณเองซึ่งจะดำเนินการใน BMC ด้วยสิทธิ์ระดับสูงสุด หากต้องการโจมตี ก็เพียงพอที่จะเปลี่ยนค่าของพารามิเตอร์ RemoteFirmwareImageFilePath ในไฟล์กำหนดค่า bmcfwu.cfg ซึ่งกำหนดเส้นทางไปยังอิมเมจของเฟิร์มแวร์ที่อัพเดต ในระหว่างการอัพเดตครั้งถัดไป ซึ่งสามารถเริ่มต้นได้โดยคำสั่งใน IPMI พารามิเตอร์นี้จะถูกประมวลผลโดย BMC และใช้เป็นส่วนหนึ่งของการเรียก popen() โดยเป็นส่วนหนึ่งของบรรทัดสำหรับ /bin/sh เนื่องจากบรรทัดสำหรับสร้างคำสั่งเชลล์ถูกสร้างขึ้นโดยใช้การเรียก snprintf() โดยไม่มีการล้างอักขระพิเศษอย่างเหมาะสม ผู้โจมตีจึงสามารถแทนที่โค้ดเพื่อดำเนินการได้ หากต้องการใช้ประโยชน์จากช่องโหว่ คุณต้องมีสิทธิ์ที่อนุญาตให้คุณส่งคำสั่งไปยังตัวควบคุม BMC ผ่าน IPMI (หากคุณมีสิทธิ์ของผู้ดูแลระบบบนเซิร์ฟเวอร์ คุณสามารถส่งคำสั่ง IPMI ได้โดยไม่ต้องมีการตรวจสอบสิทธิ์เพิ่มเติม)
Gigabyte และ Lenovo ได้รับแจ้งถึงปัญหาดังกล่าวในเดือนกรกฎาคม 2018 และจัดการเพื่อเผยแพร่การอัปเดตก่อนที่ข้อมูลจะเปิดเผยต่อสาธารณะ บริษัทเลอโนโว
เมื่อวันที่ 8 พฤษภาคมของปีนี้ Gigabyte เปิดตัวการอัปเดตเฟิร์มแวร์สำหรับมาเธอร์บอร์ดที่มีคอนโทรลเลอร์ ASPEED AST2500 แต่ก็เหมือนกับ Lenovo ที่แก้ไขเพียงช่องโหว่ของการทดแทนคำสั่งเท่านั้น บอร์ดที่มีช่องโหว่ซึ่งใช้ ASPEED AST2400 ยังคงไม่มีการอัปเดตในตอนนี้ กิกะไบต์อีกด้วย
ให้เราระลึกว่า BMC เป็นตัวควบคุมพิเศษที่ติดตั้งในเซิร์ฟเวอร์ ซึ่งมีอินเทอร์เฟซ CPU, หน่วยความจำ, ที่เก็บข้อมูล และเซ็นเซอร์ของตัวเอง ซึ่งเป็นอินเทอร์เฟซระดับต่ำสำหรับการตรวจสอบและจัดการอุปกรณ์เซิร์ฟเวอร์ การใช้ BMC โดยไม่คำนึงถึงระบบปฏิบัติการที่ทำงานบนเซิร์ฟเวอร์ คุณสามารถตรวจสอบสถานะของเซ็นเซอร์ จัดการพลังงาน เฟิร์มแวร์และดิสก์ จัดระเบียบการบูตระยะไกลผ่านเครือข่าย ตรวจสอบการทำงานของคอนโซลการเข้าถึงระยะไกล ฯลฯ
ที่มา: opennet.ru