สรุปสั้น

บริษัทด้านความปลอดภัย runZero เปิดเผยช่องโหว่เจ็ดรายการใน FatFs ไลบรารีระบบไฟล์ขนาดเล็กที่ให้อุปกรณ์อ่านและเขียนรูปแบบ FAT และ exFAT ที่ใช้บน USB drive และ SD card ช่องโหว่เหล่านี้สำคัญเพราะ FatFs อยู่แทบทุกที่ มันฝังอยู่ในเฟิร์มแวร์ที่รันกล้องวงจรปิด โดรน ตัวควบคุมอุตสาหกรรม ฮาร์ดแวร์กระเป๋าเงินคริปโต และอุปกรณ์อื่นๆ ที่สร้างบนระบบปฏิบัติการเรียลไทม์ (RTOS) บนระบบที่ได้รับผลกระทบหนักที่สุด ผู้โจมตีที่สามารถนำ USB drive, SD card หรือไฟล์อัปเดตที่ถูกดัดแปลงเข้าสู่อุปกรณ์ได้ จะสามารถทำให้หน่วยความจำเสียหายและรันโค้ดของตัวเองได้

อุปกรณ์ฝังตัวจำนวนมากขาดการป้องกันหน่วยความจำที่พบในโทรศัพท์และเดสก์ท็อป ซึ่งเป็นเหตุผลที่ runZero ระบุว่า “การเข้าถึงทางกายภาพใดๆ นำไปสู่การ jailbreak” ตู้คีออสก์สาธารณะ กล้องที่มีช่อง SD ตู้ ATM หรือเครื่องลงคะแนนที่มีพอร์ต USB ไม่ควรยอมมอบการควบคุมทั้งหมดหลังถูกเข้าถึงทางกายภาพเพียงชั่วขณะ แต่ในกรณีนี้กลับทำได้ ช่องโหว่ทั้งเจ็ดทำงานในลักษณะพื้นฐานเดียวกันคือ เมื่ออุปกรณ์พยายามอ่านวอลุ่มจัดเก็บข้อมูลหรืออิมเมจเฟิร์มแวร์ที่ถูกทำให้ผิดรูปแบบโดยเจตนา FatFs จะจัดการข้อมูลที่ผิดพลาดนั้นอย่างไม่ถูกต้อง โดย runZero จัดระดับความรุนแรงไว้ที่ Medium ถึง High ไม่มีระดับ Critical

รายละเอียดข่าว

เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 4 กรกฎาคม พ.ศ. 2569 ว่า บริษัท runZero เปิดเผยช่องโหว่เจ็ดรายการในไลบรารี FatFs โดยช่องโหว่ที่เด่นที่สุดคือ CVE-2026-6682 (CVSS 7.6) ซึ่งเป็น integer overflow ในโค้ดที่ทำการ mount วอลุ่ม FAT32 การคำนวณที่ผิดพลาดสามารถสร้างขนาดไฟล์ปลอมที่โค้ดในภายหลังปฏิบัติต่อมันเสมือนเป็นความยาวการอ่านจริง ซึ่งบนฮาร์ดแวร์จริงอาจกลายเป็น memory corruption และการรันโค้ดได้ และที่สำคัญคือช่องโหว่นี้เข้าถึงได้ผ่านการอัปเดตเฟิร์มแวร์บางประเภทด้วย ไม่ใช่แค่สื่อเก็บข้อมูลทางกายภาพเท่านั้น

ส่วนที่ยากที่สุดของปัญหานี้คือ FatFs ได้รับการดูแลโดยนักพัฒนาเพียงคนเดียวในมุมเล็กๆ ของอินเทอร์เน็ต runZero ระบุว่าได้พยายามติดต่อผู้ดูแลซ้ำหลายครั้งและดึงศูนย์ประสานงาน JPCERT/CC ของญี่ปุ่นเข้ามาช่วย แต่ก็ไม่ได้รับการตอบกลับ ตามคำบอกของ runZero ไม่มีการแก้ไข upstream สำหรับช่องโหว่ memory corruption ไม่มี security mailing list และไม่มีช่องทางให้ผลิตภัณฑ์จำนวนมากที่ฝัง FatFs รับรู้ว่าตนได้รับผลกระทบ การอัปเดตช่วยได้เฉพาะกรณี GPT hang เพราะเวอร์ชันปัจจุบันบล็อกไว้แล้ว แต่ที่เหลือตกเป็นภาระของผู้จำหน่ายปลายทางที่ต้องแพตช์เอง

runZero ระบุชื่อแพลตฟอร์มที่ได้รับผลกระทบ ได้แก่ Espressif ESP-IDF, STMicroelectronics STM32Cube, Zephyr, MicroPython, ArduPilot, RT-Thread, Mbed, Samsung TizenRT และตัวอัปเดต SWUpdate ซึ่งผลักปัญหาลงสู่ IoT ผู้บริโภค อุปกรณ์อุตสาหกรรม โดรน และกระเป๋าเงินคริปโต ณ วันที่ runZero เปิดเผยเมื่อ 1 กรกฎาคม ยังไม่มีรายงานการโจมตีที่ใช้ช่องโหว่เหล่านี้ แต่วัสดุสำหรับการโจมตีเป็นสาธารณะแล้ว เพราะ runZero ได้เผยแพร่อิมเมจดิสก์ proof-of-concept ชุดทดสอบ และตัวอย่าง exploit ที่ใช้ QEMU ในคลังโค้ดประกอบ

รายละเอียดช่องโหว่

ช่องโหว่ทั้งเจ็ดรายการเรียงตามความรุนแรงจากมากไปน้อยตามการจัดอันดับของ runZero มีดังนี้:

CVECVSSรายละเอียด
CVE-2026-66827.6 (High)integer overflow ตอน mount FAT32 นำไปสู่ memory corruption และอาจรันโค้ด เข้าถึงได้ผ่านการอัปเดตเฟิร์มแวร์บางประเภท
CVE-2026-66877.6 (High)ฟิลด์ volume-label ของ exFAT ล้น buffer เล็ก เปิดจุดยืน memory corruption ให้ผู้โจมตี
CVE-2026-66887.6 (High)ชื่อไฟล์ยาวล้นโค้ด wrapper ที่หลายโปรเจกต์ครอบ FatFs (เช่น strcpy ของ fno.fname ลง buffer คงที่) แก้ไขใน FatFs อย่างเดียวได้ยาก
CVE-2026-66856.1 (Medium)การคำนวณ wrap ในการจัดการ cache บนวอลุ่มที่กระจัดกระจาย ทำให้ข้อมูลเสียหายเงียบๆ
CVE-2026-66834.6 (Medium)หารด้วยศูนย์ใน exFAT ทำให้อุปกรณ์ล่ม หากอยู่ใน flow การอัปเดตอาจทำให้ฮาร์ดแวร์ brick เข้าถึงได้ผ่านการอัปเดตเฟิร์มแวร์บางประเภท
CVE-2026-66864.6 (Medium)ไฟล์ที่ขยายเกินจุดสิ้นสุดอาจรั่วข้อมูลเหลือค้างจากไฟล์ที่ถูกลบก่อนหน้า
CVE-2026-66844.6 (Medium)ตาราง GPT partition ที่ผิดรูปทำให้อุปกรณ์ค้างตอน mount เป็นตัวเดียวที่แก้ไข upstream แล้วใน FatFs R0.16

จุดที่น่ากังวลคือ runZero เคยตรวจสอบ FatFs ด้วยมือในปี พ.ศ. 2560 และพบว่าแทบไม่มีอะไรน่ารายงาน แต่เมื่อกลับมาตรวจใหม่ในเดือนมีนาคม พ.ศ. 2569 ทีมงานใช้ชุดเครื่องมือสำเร็จรูปคือ Visual Studio Code, GitHub Copilot ในโหมด “auto” และพรอมป์ธรรมดาไม่กี่ตัว โดย LLM สร้าง fuzzer ที่ป้อนข้อมูลผิดรูปเข้าโค้ดจนเกิดข้อผิดพลาด ซึ่งเผยบั๊กที่การตรวจด้วยมือพลาดไปและช่วยยืนยันว่าช่องโหว่เหล่านั้นใช้โจมตีได้จริง ประเด็นของ runZero ตรงไปตรงมาคือ หากไปป์ไลน์ AI สำเร็จรูปสามารถพบสิ่งเหล่านี้ได้ ใครก็ทำได้เช่นกัน การเก็บงำช่องโหว่ไว้เงียบๆ จึงไม่ได้ปกป้องใคร

ผลกระทบต่อไทย

ไทยมีการใช้อุปกรณ์ IoT และอุปกรณ์ฝังตัวจำนวนมากที่อาจฝัง FatFs อยู่ ทั้งกล้องวงจรปิดตามอาคารและถนน โดรนเชิงพาณิชย์และเกษตร ตัวควบคุมในโรงงานอุตสาหกรรม และฮาร์ดแวร์กระเป๋าเงินคริปโตที่ผู้ใช้ไทยนิยม อุปกรณ์เหล่านี้ส่วนใหญ่ขาดการป้องกันหน่วยความจำ ทำให้การเสียบสื่อเก็บข้อมูลที่ถูกดัดแปลงเพียงชั่วขณะอาจนำไปสู่การยึดครองอุปกรณ์ได้ ที่น่ากังวลเป็นพิเศษคือช่องโหว่บางตัวเข้าถึงได้ผ่านช่องทางอัปเดตเฟิร์มแวร์ด้วย ไม่จำเป็นต้องเข้าถึงทางกายภาพเสมอไป และเนื่องจากไม่มีแพตช์ upstream สำหรับช่องโหว่ memory corruption องค์กรไทยที่ผลิตหรือใช้อุปกรณ์เหล่านี้จึงต้องตรวจสอบเองว่ามีการใช้ FatFs หรือไม่ และเฝ้าระวังการอัปเดตจากผู้จำหน่ายแพลตฟอร์มที่เกี่ยวข้อง

คำแนะนำ

สำหรับผู้ที่พัฒนาเฟิร์มแวร์ที่แตะต้องสื่อ FAT หรือ exFAT ควรค้นหาสำเนา FatFs ในผลิตภัณฑ์ของตน ตรวจสอบโค้ด wrapper ที่ครอบมันอยู่ พิจารณาอย่างละเอียดว่าจัดการชื่อไฟล์และขนาดไฟล์อย่างไร และวางแผนติดตั้งแพตช์ สำหรับผู้ที่ใช้งานอุปกรณ์ที่ได้รับผลกระทบ ควรปฏิบัติต่อพอร์ตทางกายภาพและช่องทางอัปเดตเสมือนเป็นพื้นผิวการโจมตี จำกัดว่าใครสามารถเสียบสื่อเก็บข้อมูลได้ และเฝ้าติดตามการอัปเดตเฟิร์มแวร์จากผู้จำหน่าย ควรจับตาสองสิ่งคือ ผู้ดูแล FatFs จะกลับมาพร้อมแพตช์หรือไม่ และผู้จำหน่ายแพลตฟอร์มใหญ่ที่ฝังมันจะตอบสนองอย่างไร จนกว่าจะมีการแก้ไข ควรสันนิษฐานว่าอุปกรณ์ที่วางจำหน่ายจำนวนมากยังอ่านสื่อเก็บข้อมูลที่ไม่น่าเชื่อถือด้วยโค้ดที่ยังไม่มีการแก้ไขรองรับ

แหล่งอ้างอิง