
มีการค้นพบช่องโหว่ 6 รายการใน U-Boot ซึ่งเป็น Bootloader ที่ถูกใช้งานอย่างแพร่หลาย ช่องโหว่เหล่านี้อาจทำให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายในระหว่างที่อุปกรณ์กำลัง Boot ซึ่งอาจนำไปสู่การโจมตีในระดับ Firmware อย่างแนบเนียน ที่สามารถเจาะทะลุระบบป้องกัน และติดตั้งมัลแวร์แบบแฝงตัวถาวรได้
U-Boot เป็นหนึ่งใน Open-source Bootloaders ที่มีการใช้งานมากที่สุดในโลก และมักพบในอุปกรณ์ Linux แบบ Embedded หลายชนิด รวมถึง Baseboard Management Controllers (BMCs) ของเซิร์ฟเวอร์ระดับองค์กร, อุปกรณ์เครือข่าย, ระบบอุตสาหกรรม, อุปกรณ์ IoT และเครื่องใช้ไฟฟ้าอื่น ๆ
เนื่องจาก U-Boot มีหน้าที่ในการโหลดระบบปฏิบัติการ ช่องโหว่ใน Bootloader จึงอาจทำให้ผู้โจมตีสามารถโจมตีอุปกรณ์ได้ตั้งแต่ก่อนที่ระบบปฏิบัติการ และซอฟต์แวร์รักษาความปลอดภัยจะเริ่มทำงาน
หนึ่งในฟีเจอร์รักษาความปลอดภัยของระบบนี้ที่เรียกว่า Verified Boot จะใช้ Cryptographic signatures เพื่อตรวจสอบให้แน่ใจว่าในระหว่างการ Startup ระบบ จะมีเพียง Firmware และ Images ของระบบปฏิบัติการ ที่ได้รับการ Signed จาก Trusted key ได้เท่านั้นที่จะถูกโหลดขึ้นมา
ในรายงานที่เผยแพร่เมื่อสัปดาห์นี้ Binarly ซึ่งเป็นบริษัทด้านความปลอดภัยของ Firmware ได้เปิดเผยถึงช่องโหว่ทั้ง 6 รายการในโค้ดตรวจสอบ Signature FIT (Flattened Image Tree) ของ U-Boot
Binarly อธิบายว่า "เมื่อพิจารณาถึงความสำคัญในระดับ Critical ขององค์ประกอบดังกล่าว ทีมวิจัยของ Binarly จึงตัดสินใจที่จะตรวจสอบฟังก์ชันการทำงานหลักของโปรเจกต์ U-Boot ให้ละเอียดมากยิ่งขึ้น"
"งานวิจัยนี้เปิดเผยให้เห็นถึงช่องโหว่ที่แตกต่างกัน 6 รายการ ซึ่งมีผลกระทบตั้งแต่การโจมตีแบบ Denial of Service (DoS) ไปจนถึงการสั่งรันโค้ดตามที่ต้องการ (Arbitrary code execution) ในระหว่างการตรวจสอบ Untrusted image"
จากข้อมูลของนักวิจัย ช่องโหว่ 2 รายการมีแนวโน้มที่จะนำไปสู่การรันโค้ดได้ตามที่ต้องการในระหว่างการตรวจสอบ Firmware ในขณะที่อีก 4 รายการที่เหลือสามารถถูกนำไปใช้เพื่อทำให้อุปกรณ์ที่มีช่องโหว่เกิดการ Crash หรือหยุดการทำงานได้
เนื่องจากช่องโหว่เหล่านี้ส่งผลกระทบต่อโค้ดที่ใช้สำหรับตรวจสอบความถูกต้องของ Firmware images ก่อนที่ระบบปฏิบัติการจะเริ่มทำงาน หากผู้โจมตีสามารถโจมตีช่องโหว่ในกระบวนการดังกล่าวได้สำเร็จ พวกเขาอาจสามารถรันโค้ดที่เป็นอันตรายได้ตั้งแต่ก่อนที่ระบบปฏิบัติการจะโหลดขึ้นมา
ช่องโหว่ทั้ง 6 รายการที่ถูกเปิดเผย ได้แก่
- BRLY-2026-037: ช่องโหว่ที่สามารถทำให้ U-Boot เกิดการ Crash เมื่อประมวลผล Firmware image ที่เป็นอันตราย และภายใต้เงื่อนไขบางประการ อาจถูกใช้เพื่อสั่งรันโค้ดตามที่ต้องการได้
- BRLY-2026-038: ช่องโหว่ Memory corruption ที่อาจทำให้ผู้โจมตีสามารถสั่งรันโค้ดตามที่ต้องการได้ในระหว่างการตรวจสอบ Signature ของ Firmware
- BRLY-2026-039: ช่องโหว่ Out-of-bounds read ที่สามารถทำให้อุปกรณ์ Crash โดยการบังคับให้ U-Boot อ่านข้อมูลเกินกว่าขนาดของ Firmware image
- BRLY-2026-040: ช่องโหว่ Null pointer dereference ที่ทำให้ Firmware image ซึ่งถูกสร้างขึ้นมาเป็นพิเศษสามารถทำให้ Bootloader เกิดการ Crash ได้
- BRLY-2026-041: การตรวจสอบความถูกต้องของข้อมูล Firmware ที่จัดเก็บไว้ภายนอกอย่างไม่เหมาะสม ซึ่งสามารถทำให้ U-Boot เกิดการ Crash ได้เมื่อประมวลผล Firmware image ที่เป็นอันตราย
- BRLY-2026-042: ช่องโหว่ Unbounded recursion ที่สามารถใช้ Stack memory ที่มีอยู่จนหมด และทำให้ Bootloader เกิดการ Crash ได้
จากข้อมูลของ Binarly โค้ดที่มีช่องโหว่ส่วนใหญ่มีมาตั้งแต่ U-Boot เวอร์ชัน 2013.07 ซึ่งส่งผลให้ช่องโหว่เหล่านี้อาจกระทบต่อโปรเจกต์ที่เปิดตัวมาแล้วมากกว่า 50 เวอร์ชัน รวมถึงผู้ผลิตที่นำโค้ดที่มีช่องโหว่ไปใช้ใน Firmware ของตนเองด้วย
Binarly อธิบายว่า "นี่หมายความว่าช่องโหว่เหล่านี้อาจส่งผลกระทบต่อโปรเจกต์ U-Boot ในเวอร์ชัน Stable มากกว่า 50 เวอร์ชัน และหากนับรวมถึงเวอร์ชัน Forks ของผู้ผลิตอื่น ๆ อีกหลาย ๆ ราย ช่องโหว่เหล่านี้ก็ถือว่าสร้างผลกระทบอย่างมีนัยสำคัญต่ออุตสาหกรรม"
หากเจาะระบบได้สำเร็จ ช่องโหว่ประเภท Arbitrary Code Execution อาจทำให้ผู้โจมตีสามารถสั่งรันโค้ดได้ตั้งแต่ช่วงแรกสุดของกระบวนการ Boot
เนื่องจากการทำงานในส่วนนี้เกิดขึ้นก่อนที่ระบบปฏิบัติการจะโหลด ผู้โจมตีจึงอาจสามารถปิดการทำงานของฟีเจอร์รักษาความปลอดภัยของ Firmware, ปรับเปลี่ยนกระบวนการ Boot, ติดตั้งมัลแวร์ระดับ Firmware แบบแฝงตัวถาวร หรือดำเนินการที่เป็นอันตรายอื่น ๆ ด้วยสิทธิ์การเข้าถึงระดับสูงได้
Binarly ระบุว่า การทำงานของมัลแวร์เหล่านี้จะตรวจจับได้ยากมาก เนื่องจากมันถูกรันก่อนที่ระบบปฏิบัติการจะเริ่มทำงาน
นอกจากนี้ Binarly ยังระบุว่า การเจาะช่องโหว่เหล่านี้ไม่จำเป็นต้องเข้าถึงตัวอุปกรณ์แบบ Physical เสมอไป ในระบบเช่น BMCs ที่รองรับการอัปเดต Firmware จากระยะไกล ผู้โจมตีที่เจาะผ่านระบบ Management Interface ได้แล้ว จะสามารถอัปโหลด Firmware image ที่ถูกสร้างขึ้นมาเป็นพิเศษเพื่อโจมตีผ่านช่องโหว่เหล่านี้ได้ทันที
Binarly ได้รายงานช่องโหว่ดังกล่าวไปยังผู้ดูแลโปรเจกต์ U-Boot พร้อมทั้งส่งแพตช์สำหรับแก้ไขช่องโหว่ทั้ง 6 รายการ ซึ่งแพตช์เหล่านี้ได้รับการตอบรับ และนำไปรวมใน Upstream Codebase ของโปรเจกต์เป็นที่เรียบร้อยแล้ว
อย่างไรก็ตาม เนื่องจากการผนวกรวม U-Boot เข้ากับ Firmware นั้นทำโดยผู้ผลิตฮาร์ดแวร์แต่ละราย การแก้ไขเหล่านี้จึงต้องถูกนำไปรวมไว้ในการอัปเดต Firmware ของผู้ผลิตแต่ละเจ้าก่อน จึงจะสามารถปล่อยให้ลูกค้าอัปเดตได้
สำหรับอุปกรณ์รุ่นเก่า หรืออุปกรณ์ที่ไม่ได้รับการสนับสนุนซึ่งไม่มีการอัปเดต Firmware ให้อีกต่อไป อาจจะไม่ได้รับการแพตช์เพื่อแก้ไขช่องโหว่นี้เลย
ที่มา : bleepingcomputer

You must be logged in to post a comment.