Steam และ Microsoft แจ้งเตือนถึงช่องโหว่ใน Unity ที่อาจทำให้เกมเมอร์เสี่ยงต่อการถูกโจมตี

ช่องโหว่ประเภท Code Execution ใน Unity Game อาจถูกนำไปใช้ในการโจมตีเพื่อให้ผู้โจมตีสามารถเรียกใช้โค้ดที่เป็นอันตรายบนอุปกรณ์ Android และยกระดับสิทธิ์บน Windows ได้

Unity คือ Game Engine และเป็นแพลตฟอร์มการพัฒนาแบบ cross-platform ที่มีเครื่องมือสำหรับการ rendering, physics, animation และ scripting เพื่อให้นักพัฒนาสามารถสร้างเกมสำหรับ Windows, macOS, Android, iOS, Consoles และเว็บได้

มีเกมมือถือจำนวนมากที่สร้างขึ้นด้วย Unity รวมถึงเกม PC/console นอกจากนี้ แพลตฟอร์มดังกล่าวยังถูกนำไปใช้ในอุตสาหกรรมอื่น ๆ นอกเหนือจากเกม เพื่อใช้สร้างแอปพลิเคชัน 3D แบบ Real-time อีกด้วย

Valve และ Microsoft ออกมาเตือนถึงผู้ใช้

เพื่อรับมือกับความเสี่ยงนี้ Steam ได้ออกอัปเดต Client ตัวใหม่ที่จะบล็อกการเปิดใช้งาน custom URI schemes เพื่อป้องกันการโจมตีผ่านแพลตฟอร์ม Distribution ของตน

ในขณะเดียวกัน Valve แนะนำให้ผู้จัดจำหน่ายเกมทำการ rebuild เกมใหม่โดยใช้ Unity เวอร์ชันที่ปลอดภัย หรือนำไฟล์ ‘UnityPlayer.dll’ ที่ได้รับการแก้ไขแล้วไปใส่แทนที่ในตัวเกมเวอร์ชันปัจจุบันโดยตรง

ทางด้าน Microsoft ก็ได้ออกประกาศเพื่อแจ้งเตือนเกี่ยวกับปัญหานี้เช่นกัน พร้อมแนะนำให้ผู้ใช้ถอนการติดตั้งเกมที่มีช่องโหว่จนกว่าจะมีเวอร์ชันใหม่ที่แก้ไขช่องโหว่ CVE-2025-59489 ออกมาให้อัปเดต

Unity ระบุว่ามีเกมยอดนิยมหลายเกมที่ได้รับผลกระทบจากช่องโหว่นี้ ได้แก่ Hearthstone, The Elder Scrolls: Blades, Fallout Shelter, DOOM (2019), Wasteland 3 และ Forza Customs

ทาง Unity แนะนำให้นักพัฒนาอัปเดต Editor ให้เป็นเวอร์ชันล่าสุด จากนั้นทำการ recompile และ redeploy เกม หรือแอปพลิเคชันใหม่อีกครั้ง

มีการออกแพตช์แก้ไขให้กับเวอร์ชันเก่า ๆ ที่ไม่รองรับแล้วบางส่วน

ช่องโหว่ดังกล่าวมีหมายเลข CVE-2025-59489 และส่งผลกระทบต่อ Runtime component โดยจะเปิดช่องให้สามารถโหลดไฟล์ที่ไม่ปลอดภัย และ local file inclusion ซึ่งอาจนำไปสู่การเรียกใช้โค้ด และข้อมูลรั่วไหลได้

RyotaK นักวิจัยจาก GMO Flatt Security เป็นผู้ค้นพบช่องโหว่ดังกล่าวเมื่อเดือนพฤษภาคมที่ผ่านมาในงานประชุม Meta Bug Bounty Researcher Conference และระบุว่าช่องโหว่นี้ส่งผลกระทบต่อเกมทั้งหมดที่สร้างด้วย Engine ตั้งแต่เวอร์ชัน 2017.1 เป็นต้นไป

Unity แจ้งเตือนใน Security bulletin ของบริษัทว่า “ช่องโหว่ดังกล่าวอาจทำให้สามารถเรียกใช้โค้ดบนเครื่อง และเข้าถึงข้อมูลที่เป็นความลับบนอุปกรณ์ของผู้ใช้ที่รันแอปพลิเคชันที่สร้างขึ้นด้วย Unity ได้”

“การเรียกใช้โค้ดจะถูกจำกัดอยู่ใน Privilege level ของแอปพลิเคชันที่มีช่องโหว่เท่านั้น และการเปิดเผยข้อมูลก็จะจำกัดอยู่แค่ข้อมูลที่แอปพลิเคชันดังกล่าวสามารถเข้าถึงได้เท่านั้น”

ในบทวิเคราะห์เชิงเทคนิคของ RyotaK ได้แสดงให้เห็นว่า วิธีการที่ Unity จัดการกับ Android Intents ทำให้แอปพลิเคชันที่เป็นอันตรายใด ๆ ที่ติดตั้งอยู่บนอุปกรณ์เครื่องเดียวกันกับเกมที่มีช่องโหว่จะสามารถโหลด และเรียกใช้ไฟล์ Native library ที่ผู้โจมตีส่งเข้ามาได้

สิ่งนี้ทำให้ผู้โจมตีสามารถเรียกใช้โค้ดใด ๆ ก็ได้ โดยใช้สิทธิ์ในระดับเดียวกันกับเกมที่เป็นเป้าหมาย

แม้ว่า RyotaK จะพบปัญหานี้บน Android แต่ต้นตอของปัญหาก็คือ วิธีการที่ Unity จัดการกับ command line argument ที่ชื่อ -xrsdk-pre-init-library โดยไม่มีการตรวจสอบ หรือคัดกรองข้อมูลที่เหมาะสมนั้น ทำให้ปัญหาดังกล่าวส่งผลกระทบกับระบบของ Windows, macOS และ Linux ด้วย

บนระบบปฏิบัติการเหล่านี้มี input paths ที่แตกต่างกัน ซึ่งสามารถใช้เพื่อป้อน argument ที่ไม่น่าเชื่อถือ หรือแก้ไขเส้นทางการค้นหาไลบรารีของแอปพลิเคชันเป้าหมายได้ ดังนั้น เมื่อเงื่อนไขต่าง ๆ ครบถ้วน การใช้ช่องโหว่ดังกล่าวเพื่อโจมตีจึงสามารถเกิดขึ้นได้เช่นเดียวกัน

Unity ระบุว่า ณ วันที่ออกประกาศเตือนเมื่อวันที่ 2 ตุลาคม ที่ผ่านมา บริษัทยังไม่พบว่ามีการนำช่องโหว่ดังกล่าวไปใช้ในการโจมตีจริง

ปัจจุบันมีแพตช์แก้ไขออกมาแล้ว โดยแนวทางการแก้ไขประกอบด้วยการอัปเดต Unity Editor ให้เป็นเวอร์ชันใหม่ล่าสุด จากนั้นทำการ build และ deploy แอปพลิเคชันใหม่อีกครั้ง และการนำไฟล์ Unity runtime binary ที่ได้รับการแก้ไขแล้วไปใส่แทนที่ของเดิม

Unity ได้ออกแพตช์แก้ไขให้กับเวอร์ชันเก่าที่สิ้นสุดการ support ไปแล้ว ตั้งแต่เวอร์ชัน 2019.1 เป็นต้นไป ส่วนเวอร์ชันที่เก่ากว่านั้นที่ไม่ได้รับการ support แล้วจะไม่ได้รับแพตช์แก้ไข

ที่มา : bleepingcomputer.com