สรุปสั้น
นักวิจัยจากบริษัทความปลอดภัยด้านเฟิร์มแวร์ Binarly ค้นพบช่องโหว่ใหม่หกรายการใน U-Boot ซึ่งเป็นโปรแกรมขนาดเล็กที่ทำหน้าที่เริ่มต้นการทำงานของฮาร์ดแวร์หลากหลายชนิด ตั้งแต่เราเตอร์ตามบ้าน กล้องอัจฉริยะ ไปจนถึงชิปจัดการภายในเซิร์ฟเวอร์ดาต้าเซ็นเตอร์ ในจำนวนนี้สี่ช่องโหว่สามารถทำให้อุปกรณ์ล่มได้ ส่วนอีกสองช่องโหว่ที่ร้ายแรงกว่าเปิดทางให้ผู้โจมตีที่สามารถสอดอิมเมจอันตรายเข้าไปก่อน bootloader รันโค้ดของตนเองได้ ก่อนที่อุปกรณ์จะยืนยันว่าซอฟต์แวร์นั้นเป็นของแท้
ประเด็นสำคัญคือ bootloader ทำงานก่อนระบบปฏิบัติการ ดังนั้นช่องโหว่ที่จุดนี้จึงบ่อนทำลายทุกสิ่งที่โหลดตามมาได้ ช่องโหว่ทั้งหกถูกเข้าถึงในขณะที่ U-Boot กำลังอ่านอิมเมจที่ไม่น่าเชื่อถือ ก่อนที่จะตรวจสอบลายเซ็น โดยโค้ดที่มีช่องโหว่ส่วนใหญ่ฝังอยู่ใน U-Boot มาตั้งแต่เวอร์ชัน v2013.07 ครอบคลุมมากกว่า 50 รุ่นเสถียร และยังปรากฏอยู่ในเฟิร์มแวร์ของผู้ผลิตจำนวนมากที่สร้างต่อยอดบน U-Boot ช่องโหว่ถูกติดตามในชื่อ BRLY-2026-037 ถึง BRLY-2026-042 และยังไม่มีการกำหนดหมายเลข CVE
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 10 กรกฎาคม 2569 ว่า บริษัท Binarly ได้ค้นหาจุดอ่อนในกระบวนการตรวจสอบลายเซ็นของ U-Boot ซึ่งสามารถรวมเคอร์เนล device tree, ramdisk และองค์ประกอบการบูตอื่น ๆ ไว้ในแพ็กเกจเดียวที่เรียกว่า FIT (Flattened Image Tree) แล้วตรวจลายเซ็นดิจิทัลของแพ็กเกจนั้นก่อนส่งมอบการควบคุม Binarly พบช่องโหว่หกรายการในกระบวนการตรวจสอบดังกล่าว โดยแบ่งเป็นสองกลุ่ม คือกลุ่มที่สามารถรันโค้ดได้สองรายการ และกลุ่มที่ทำให้ล่มเพียงอย่างเดียวสี่รายการ
ช่องโหว่สองรายการที่รันโค้ดได้คือ BRLY-2026-037 และ BRLY-2026-038 ซึ่งทั้งคู่มีต้นตอจากค่าที่ไม่ได้ตรวจสอบเพียงค่าเดียว U-Boot เรียกใช้ฟังก์ชัน fdt_get_name ซึ่งเป็นการค้นหาในไลบรารีแยกวิเคราะห์ device-tree ที่ยืมมา และเมื่อเจออิมเมจที่ผิดรูป การค้นหานั้นจะคืนค่า null pointer พร้อมความยาวที่เป็นลบ แต่ U-Boot กลับใช้ทั้งสองค่าโดยไม่ตรวจสอบ ช่องโหว่หนึ่งจะตาม null pointer เข้าสู่การคัดลอกหน่วยความจำที่กลายเป็น stack buffer overflow บนอุปกรณ์ที่ map แอดเดรสศูนย์ไว้ ส่วนอีกช่องโหว่จะป้อนความยาวที่เป็นลบเข้าสู่การคำนวณ pointer ที่เดินถอยหลังจนเขียนทับ return address ที่บันทึกไว้ ในเลย์เอาต์หน่วยความจำที่เหมาะสม ทั้งสองกรณีสามารถมอบการควบคุมให้แก่โค้ดที่ผู้โจมตีป้อนเข้ามาได้
Binarly ได้เผยแพร่อิมเมจสาธิตการโจมตี (proof of concept) และขั้นตอนการทำซ้ำสำหรับช่องโหว่แต่ละรายการ พร้อมสาธิตกับบิลด์มาตรฐานของ U-Boot โดยยังไม่มีรายงานการโจมตีจริง อย่างไรก็ตาม ในบรรดาช่องโหว่ทั้งหก สองช่องโหว่ประเภท memory corruption คือสิ่งที่ต้องให้ความสำคัญเป็นอันดับแรก เพราะการล่มเพียงทำให้อุปกรณ์ออฟไลน์ แต่การรันโค้ดตั้งแต่ตอนบูตสามารถบ่อนทำลายห่วงโซ่ความน่าเชื่อถือ (chain of trust) ทั้งหมดได้
รายละเอียดช่องโหว่
ช่องโหว่อีกสี่รายการทำได้เพียงทำให้ bootloader ล่ม โดย BRLY-2026-039 และ BRLY-2026-041 อ่านเลยขอบเขตของอิมเมจด้วยการเชื่อค่าขนาดหรือ offset ที่ผู้โจมตีควบคุมได้ ส่วน BRLY-2026-040 dereference null pointer ที่รูปแบบอิมเมจรุ่นเก่าคืนกลับมาโดยไม่ตรวจสอบ และ BRLY-2026-042 ทำให้ stack หมดด้วยอิมเมจที่ซ้อนกันลึกจนขั้นตอนการตรวจสอบเบื้องต้นเรียกตัวเองซ้ำจนทรัพยากรหมด ในกรณีเลวร้ายที่สุด การกู้อุปกรณ์ที่บูตไม่ขึ้นต้องอาศัยการเข้าถึงทางกายภาพและ reflash ชิปหน่วยความจำด้วยอิมเมจที่สะอาด
จุดที่ทำให้การโจมตียากคือการส่งมอบ เพราะช่องโหว่จะทำงานก็ต่อเมื่ออิมเมจอันตรายเข้าถึงเส้นทางการบูตได้ ซึ่งมักต้องอาศัยการเข้าถึงทางกายภาพหรือจุดยืนที่มีสิทธิ์สูง แต่จุดยืนนั้นไม่จำเป็นต้องอยู่ในเครื่องเสมอไป ในงานวิจัยก่อนหน้าเกี่ยวกับตัวควบคุมการจัดการเซิร์ฟเวอร์ของ Supermicro นักวิจัยคนเดียวกันของ Binarly เคยแสดงให้เห็นว่าผู้โจมตีที่มีสิทธิ์เข้าถึงอินเทอร์เฟซจัดการจากระยะไกลสามารถใช้กระบวนการอัปเดตของอุปกรณ์เองเพื่อ flash อิมเมจอันตรายได้โดยไม่ต้องแตะฮาร์ดแวร์ นอกจากนี้การตรวจลายเซ็นชุดเดียวกันนี้เคยถูกโจมตีมาแล้วผ่าน CVE-2026-33243 ที่ U-Boot แพตช์ในเดือนเมษายน และฟังก์ชัน fdt_get_name เบื้องหลังช่องโหว่ร้ายแรงสองตัวนี้มาจาก libfdt ซึ่ง U-Boot ใช้ร่วมกับเคอร์เนล Linux, bootloader barebox และอื่น ๆ ทำให้ความผิดพลาดแบบไม่ตรวจค่าที่คืนกลับมาอาจโผล่ที่ใดก็ได้ที่ใช้โค้ดนั้น
ผลกระทบต่อไทย
ช่องโหว่ชุดนี้กระทบอุปกรณ์จำนวนมหาศาลที่ใช้งานในไทย ทั้งเราเตอร์ตามบ้านและสำนักงาน กล้องวงจรปิดอัจฉริยะ อุปกรณ์ IoT และเซิร์ฟเวอร์ในดาต้าเซ็นเตอร์ที่มีชิปจัดการ (BMC) ซึ่งจำนวนมากสร้างเฟิร์มแวร์บนพื้นฐาน U-Boot สิ่งที่น่ากังวลเป็นพิเศษคือช่องโหว่รันโค้ดตั้งแต่ตอนบูตอยู่ต่ำกว่าระบบปฏิบัติการ ทำให้เครื่องมือความปลอดภัยทั่วไปมองไม่เห็น และการที่ผู้โจมตีสามารถใช้อินเทอร์เฟซจัดการจากระยะไกลเพื่อ flash อิมเมจอันตรายได้ทำให้ผู้ดูแลดาต้าเซ็นเตอร์และผู้ให้บริการคลาวด์ในไทยต้องให้ความสำคัญ เนื่องจากยังไม่มีรุ่นแก้ไขทางการ ผลกระทบจึงจะยืดเยื้อจนกว่าผู้ผลิตแต่ละรายจะปล่อยอัปเดตเฟิร์มแวร์
คำแนะนำ
เนื่องจากยังไม่มีรุ่นเสถียรที่แก้ไขช่องโหว่ ผู้ผลิตและผู้ดูแลผลิตภัณฑ์ที่ใช้ U-Boot ไม่ควรรอ แต่ควรดึงแพตช์จาก upstream มาใช้ทันทีตามลิงก์ commit ในคำแนะนำแต่ละฉบับของ Binarly และติดตามด้วยหมายเลข advisory เนื่องจากยังไม่มี CVE ทั้งนี้ U-Boot ได้ merge แพตช์ทั้งหกในเดือนมิถุนายน แต่รุ่นเดือนกรกฎาคม (v2026.07) ถูก freeze ไปตั้งแต่เดือนเมษายนจึงออกมาโดยไม่มีแพตช์ และรุ่นถัดไป v2026.10 จะออกในเดือนตุลาคม สำหรับผู้ใช้ทั่วไปที่ใช้อุปกรณ์ซึ่งผู้อื่นสร้างบน U-Boot การแก้ไขต้องมาในรูปของอัปเดตเฟิร์มแวร์จากผู้ผลิตผลิตภัณฑ์ ดังนั้นควรเฝ้าติดตามและติดตั้งอัปเดตเฟิร์มแวร์ทันทีที่มีการปล่อยออกมา
