ทีมผู้เชี่ยวชาญด้านความปลอดภัยข้อมูล Project Zero จาก Google ได้เผยแพร่รายละเอียดทางเทคนิคและโค้ด exploit (PoC) สำหรับการใช้ประโยชน์จากบั๊กการรันโค้ดระยะไกล (RCE) ร้ายแรงในส่วนประกอบกราฟิกของ Windows 10
นักวิจัยพบช่องโหว่ (CVE-2021-24093) ใน DirectWrite — Application Programming Interface (API) ของ Microsoft สำหรับจัดรูปแบบข้อความบนหน้าจอและเรนเดอร์ glyphs เดี่ยว — Microsoft
ปัญหานี้ส่งผลต่อหลายรุ่นของ Windows 10 และ Windows Server รุ่นเก่ากว่า 20H2
หลังจากเวลาต่างชี้ 90 วัน (disclosure deadline) Project Zero ปล่อยโค้ดทดสอบ PoC เพื่อใช้ประโยชน์จากช่องโหว่เพื่อทำให้ปัญหาซ้ำได้บนเบราว์เซอร์ที่รันบน Windows 10 (1909) ที่ได้รับแพตช์ครบถ้วน
DirectWrite API ถูกใช้เป็นตัว rasterize ฟอนต์เริ่มต้นในเบราว์เซอร์เว็บหลัก เช่น Chrome, Firefox, และ Edge เพื่อเรนเดอร์ glyphs ของฟอนต์เว็บ
เนื่องจากเบราว์เซอร์ใช้ DirectWrite API ในการเรนเดอร์ฟอนต์ ผู้โจมตีจึงอาจใช้ประโยชน์จากช่องโหว่เพื่อทำให้เกิดสถานะ memory corruption ที่อาจทำให้พวกเขารันโค้ด arbitrary แบบระยะไกลบนระบบเป้าหมายได้
เมื่อเบราว์เซอร์แสดง glyphs จากฟอนต์เว็บ พวกเขาส่งข้อมูลไบนารีของฟอนต์เว็บไปยัง DirectWrite และรันมันในกระบวนการเรนเดอร์ของพวกเขา ดังนั้น ความเป็นไปได้ในการใช้ประโยชน์จาก memory corruption สำหรับการรันโค้ด ขยายไปถึงผู้โจมตีระยะไกล ภายใต้เงื่อนไขว่าผู้โจมตีดังกล่าวประสบความสำเร็จในการนำผู้ใช้ไปยังเนื้อหาที่ดาวน์โหลดและแสดงฟอนต์ที่เป็นอันตราย — นักวิจัย Google Project Zero รายงาน
ผู้โจมตีสามารถหลอกเหยื่อให้ไปที่เว็บไซต์ที่มี TrueType fonts ที่สร้างขึ้นอย่างเป็นอันตราย ซึ่งทำให้เกิด heap-based buffer overflow ในฟังก์ชัน API fsg_ExecuteGlyph
โค้ดทำให้สมาชิกโครงสร้างต่อไปที่อยู่ไกลกว่าในการจัดสรรเสียหาย รวมถึง pointers ไปยังโครงสร้างข้อมูลสำคัญอื่นๆ ของฟอนต์ สภาพ memory corruption นี้อาจถูกใช้ประโยชน์เพิ่มเติมเพื่อรันโค้ด arbitrary ในบริบทของ DirectWrite client — ตัวแทนกล่าว
ผู้เชี่ยวชาญรายงานปัญหาให้ Microsoft Security Response Centre ในเดือนพฤศจิกายนปีที่แล้ว บริษัทปล่อยอัปเดตความปลอดภัยเพื่อแก้ไขปัญหานี้ในเดือนกุมภาพันธ์ปีนี้
ขอเตือนอีกครั้งว่า เราเคยรายงานว่า Google Project Zero เตือนว่า Fresh Windows LSASS Patch ไม่มีประสิทธิภาพ