ทีมงาน งานวิจัยด้านความปลอดภัยของ Google โครงการ Project Zero ได้บันทึกขั้นตอนการโจมตีที่ซับซ้อนที่สุดขั้นตอนหนึ่งไว้แล้ว ในปัจจุบัน มีเป้าหมายอยู่ที่เฟิร์มแวร์ Android
ลอส นักวิจัยได้แสดงให้เห็นถึงความเป็นไปได้ในการเจาะระบบอุปกรณ์ Pixel 9 จากระยะไกล และโดยไม่ต้องมีการโต้ตอบจากผู้ใช้ (การโจมตีแบบไม่ต้องคลิก) โดยการส่งข้อความ SMS หรือ RCS ง่ายๆ พร้อมไฟล์เสียงแนบมาด้วย ความร้ายแรงของการค้นพบนี้อยู่ที่ว่าเหยื่อไม่จำเป็นต้องเปิดไฟล์เสียง เพียงแค่ได้รับข้อความก็ทำให้ระบบถูกโจมตีอย่างสมบูรณ์แล้ว
เวกเตอร์อินพุต: การถอดเสียงอัตโนมัติ
ประตูสู่ eการโจมตีนี้เกิดขึ้นจากการบูรณาการฟังก์ชันอัจฉริยะ ในระบบปฏิบัติการ ใน Android เวอร์ชันใหม่ๆ แอปพลิเคชัน แอป Google Messages พยายามสร้างข้อความถอดเสียงจากข้อความเสียงที่ได้รับโดยอัตโนมัติ เพื่ออำนวยความสะดวกในการค้นหาข้อความหรือการเข้าถึงข้อมูล กระบวนการนี้จะเรียกใช้บริการ com.google.android.ttsซึ่งประมวลผลไฟล์มัลติมีเดียโดยใช้ตัวแปลงสัญญาณของระบบโดยไม่ต้องมีการแทรกแซงจากมนุษย์ นี่คือจุดที่... ผู้โจมตีพบช่องโหว่ที่สำคัญ: ช่องโหว่ในไลบรารีของ Dolby Unified Decoder (UDC) ถูกระบุว่าเป็นช่องโหว่ CVE-2025-54957
El ความผิดพลาดทางเทคนิคอยู่ที่การจัดการหน่วยความจำ ของไลบรารีนั้น โดยเฉพาะอย่างยิ่งในวิธีการประมวลผลรูปแบบการส่งมอบเมตาเดตาที่ขยายได้ (EMDF)ภายในสตรีมเสียง Dolby Digital Plusตัวถอดรหัส ประสบปัญหาล้น เมื่อคำนวณขนาดบัฟเฟอร์ที่จำเป็นสำหรับโครงสร้างข้อมูล การคำนวณทางคณิตศาสตร์นี้ไม่ถูกต้อง อนุญาตให้เขียนทับตัวชี้ที่ใช้ เพื่อประมวลผลเฟรมการซิงโครไนซ์ถัดไป โดยการจัดการตัวชี้ (pointer) นี้ ผู้โจมตีสามารถเปลี่ยนเส้นทางการดำเนินการเขียนได้ จากตัวถอดรหัสไปยังพื้นที่หน่วยความจำที่กำหนดเอง สุดท้ายเขียนทับตัวชี้ฟังก์ชันด้วยข้อมูลที่ควบคุมได้ และทำให้สามารถเรียกใช้โค้ดได้
วิศวกรรมการโจมตี: การเอาชนะ ASLR และ Scudo
นักวิจัยกล่าวว่า การเปลี่ยนช่องโหว่นี้ให้กลายเป็นช่องโหว่ที่ใช้งานได้จริงนั้น จำเป็นต้องใช้เทคนิคทางวิศวกรรมซอฟต์แวร์ที่ซับซ้อนอย่างยิ่ง เพื่อหลีกเลี่ยงระบบป้องกันของ Android ในยุคปัจจุบัน เช่น Address Space Arrangement Randomization (ASLR) และตัวจัดสรรหน่วยความจำ Scudo นักวิจัยค้นพบว่า "กองวิวัฒนาการ" (evo heap) ที่ตัวถอดรหัสใช้เป็นโครงสร้างแบบโมโนลิธิกที่ มันเริ่มต้นใหม่ทุกครั้งที่มีเฟรมเพื่อให้การเขียนข้อมูลมีเสถียรภาพ พวกเขาต้องปรับเปลี่ยนโครงสร้างหน่วยความจำโดยบังคับให้ตัวจัดสรรหน่วยความจำของ Scudo ย้าย "บัฟเฟอร์แบบไดนามิก"
เทคนิค วิธีการดังกล่าวเกี่ยวข้องกับการจงใจทำให้ส่วนหัวของส่วนย่อยของหน่วยความจำเสียหาย (ชิ้นส่วน) จาก Scudo โดยการปรับเปลี่ยนขนาดที่รับรู้ของชิ้นส่วนที่ปล่อยออกมาและบังคับให้มีการกำหนดใหม่ในภายหลังผ่านการถอดรหัสตามลำดับของไฟล์เสียงหลายไฟล์พวกเขาสามารถย้ายโครงสร้างข้อมูลในหน่วยความจำได้สำเร็จสิ่งนี้สร้างพื้นที่ที่จำเป็นสำหรับการแทรกคอนเทนเนอร์ EMDF ที่เป็นอันตรายไว้ก่อนส่วนหัวหน่วยความจำที่สำคัญ ผ่านชุดคำสั่งเขียนข้อมูลที่เรียกว่า "WRITE DYNAMIC" และ "WRITE STATIC" ช่องโหว่นี้สามารถเขียนทับตัวชี้ฟังก์ชันเฉพาะในบัฟเฟอร์คงที่ของตัวถอดรหัสได้
อย่างไรก็ตาม การบรรลุการเรียกใช้โค้ดตามอำเภอใจนั้นเป็นความท้าทายเพิ่มเติมเนื่องจากข้อจำกัดของ SELinux ที่ป้องกันไม่ให้กระบวนการโคเดกสร้างไฟล์ปฏิบัติการในหน่วยความจำของตัวเองหรือโหลดไลบรารีภายนอก นักวิจัยได้คิดค้นวิธีแก้ปัญหาโดยใช้การเขียนโปรแกรมแบบส่งคืนค่า (ROP) เพื่อเรียกใช้ฟังก์ชัน pwrite และเขียนโค้ดที่เป็นอันตรายลงไปโดยตรง มันอนุญาตให้กระบวนการแก้ไขตัวเองได้ โดยข้ามการป้องกันการเขียนและการเรียกใช้งานมาตรฐาน เนื่องจากการทำงานแบบสุ่มของ ASLR ทำให้การโจมตีมีอัตราความสำเร็จประมาณ 1 ใน 255 ครั้ง ซึ่งเป็นไปได้เนื่องจากกระบวนการจะเริ่มต้นใหม่โดยอัตโนมัติหลังจากความล้มเหลว ทำให้ผู้โจมตีสามารถลองใหม่ได้จนกว่าจะสำเร็จภายในไม่กี่นาที
การยกระดับสิทธิ์: จากตัวแปลงสัญญาณไปจนถึงเคอร์เนล
เมื่อผู้โจมตีสามารถควบคุมกระบวนการ mediacodec ได้แล้ว ขั้นตอนต่อไปคือการควบคุมอุปกรณ์อย่างสมบูรณ์. การทำเช่นนี้ ช่องโหว่ที่สองถูกใช้ประโยชน์ (CVE-2025-36934) ในไดรเวอร์ Bigwave ของเคอร์เนล Linux ไดรเวอร์นี้จัดการอุปกรณ์อักขระที่สามารถเข้าถึงได้จากบริบทของตัวแปลงสัญญาณมัลติมีเดีย ช่องโหว่ มันอนุญาตให้เขียนทับโครงสร้างเคอร์เนลโดยการจัดการการเรียกใช้ ioctl โดยเฉพาะอย่างยิ่ง มันจะยกระดับสิทธิ์ของผู้โจมตีจากระดับผู้ใช้ที่จำกัดไปสู่ระดับเคอร์เนล
เป็นที่น่าสังเกตว่า เส้นทางการปีนป่ายนี้เป็นไปได้บน Pixel 9 เนื่องจากไม่มีตัวกรองการเรียกใช้ระบบ (seccomp) เป็นข้อจำกัดในเฟิร์มแวร์ของ Google สำหรับการประมวลผลโคเดก ในทางตรงกันข้าม อุปกรณ์อย่าง Samsung S24 ใช้ตัวกรองที่ถึงแม้จะมีความเสี่ยงต่อตัวถอดรหัส Dolby แต่ก็ปิดกั้นการเข้าถึงไดรเวอร์เคอร์เนลที่เสี่ยงต่อช่องโหว่ ทำให้ลดผลกระทบของห่วงโซ่การโจมตีทั้งหมดลงได้
ผลกระทบต่อระบบนิเวศและระยะเวลาในการตอบสนอง
เหตุการณ์นี้เน้นย้ำถึงความซับซ้อนของห่วงโซ่อุปทานซอฟต์แวร์มือถือ ช่องโหว่ในตัวถอดรหัส Dolby ไม่ได้พบเฉพาะในระบบ Android เท่านั้นนอกจากนี้ยังส่งผลกระทบต่ออุปกรณ์ Windows, ChromeOS และ Apple ด้วย อย่างไรก็ตาม ในระบบนิเวศของ Apple (macOS และ iOS) ช่องโหว่นี้จะถูกป้องกันได้โดยการคอมไพล์ไลบรารีด้วยแฟล็ก -fbounds-safety ซึ่งจะเพิ่มการตรวจสอบขอบเขตเพิ่มเติม
การจัดการแก้ไขข้อผิดพลาดเผยให้เห็นความคลาดเคลื่อนที่สำคัญหลายประการ แม้ว่าช่องโหว่นี้จะถูกค้นพบและรายงานไปยัง Dolby ในช่วงกลางปี 2025 แล้วก็ตาม การอัปเดตแพทช์ใช้เวลา 139 วันกว่าจะถึงมือผู้ใช้ Android ทุกคนแพทช์ไบนารีสำหรับระบบนิเวศ Android ไม่พร้อมใช้งานจนกระทั่งเดือนตุลาคม และการแก้ไขขั้นสุดท้ายสำหรับอุปกรณ์ Pixel เพิ่งเปิดตัวในเดือนมกราคม 2026 ซึ่งทำให้มีช่วงเวลาที่เสี่ยงต่อช่องโหว่ร้ายแรงเช่นนี้อยู่มาก
หากคุณสนใจเรียนรู้เพิ่มเติม สามารถดูรายละเอียดได้ที่ ลิงค์ต่อไปนี้