ช่องโหว่ Windows Imaging Component อาจนำไปสู่การโจมตีแบบ RCE ได้

การวิเคราะห์เกี่ยวกับ CVE-2025-50165 ซึ่งเป็นช่องโหว่ระดับ Critical ของ Windows ที่ส่งผลกระทบต่อ Windows Imaging Component (WIC) โดยช่องโหว่นี้อาจเปิดโอกาสให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายจากระยะไกลได้ ผ่านไฟล์ JPEG ที่ถูกสร้างขึ้นมาเป็นพิเศษ

อย่างไรก็ตาม ผลการวิเคราะห์ระบุว่า ความเสี่ยงในการนำช่องโหว่นี้ไปใช้โจมตีจริงนั้นต่ำกว่าที่เคยกังวลกันไว้ในตอนแรกอย่างมีนัยสำคัญ

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

ช่องโหว่นี้เกิดจากการเข้าถึงค่าที่ชี้ไปยังฟังก์ชันที่ยังไม่ได้กำหนดค่าเริ่มต้น ในระหว่างกระบวนการ compression และการ re-encoding ของไฟล์ JPEG ซึ่งไม่ได้เกิดขึ้นในระหว่างขั้นตอนการ decoding หรือการแสดงผลภาพตามปกติ

จากการวิเคราะห์สาเหตุหลักของ ESET พบว่า ช่องโหว่นี้ส่งผลกระทบโดยเฉพาะกับภาพ JPEG ที่มี color depth 12-bit หรือ 16-bit เท่านั้น

ช่องโหว่นี้อยู่ในไฟล์ WindowsCodecs.dll ซึ่งเป็นไลบรารีอินเทอร์เฟซหลักของ Windows ที่ทำหน้าที่จัดการรูปแบบไฟล์ภาพมาตรฐานต่าง ๆ รวมถึง JPEG, PNG, GIF และ BMP

Function pointers ที่มีช่องโหว่ ได้แก่ compress_data_12 และ compress_data_16 ซึ่งจะไม่ถูกกำหนดค่าเริ่มต้นในระหว่างกระบวนการ compression ส่งผลให้ระบบเกิดข้อผิดพลาดเมื่อมีการประมวลผลไฟล์ JPEG ที่มีความแม่นยำไม่ตรงตามมาตรฐานเหล่านี้

สถานการณ์การโจมตีที่จำกัด

ข้อมูลจากการสืบสวนของ ESET ระบุว่า การจะโจมตีผ่านช่องโหว่นี้ได้นั้นจำเป็นต้องมีเงื่อนไขที่เฉพาะเจาะจงหลายประการ ซึ่งตรงกันข้ามกับการประเมินในตอนแรกที่คาดว่าอาจเกิดการโจมตีในวงกว้าง

ประการแรก แอปพลิเคชันที่เป็นเป้าหมายจะต้องใช้ WindowsCodecs.dll เวอร์ชันที่มีช่องโหว่ และอนุญาตให้ re-encoding JPEG ใหม่ ไม่ใช่แค่การเปิดดูภาพเท่านั้น การเปิดไฟล์ JPEG ที่เป็นอันตรายเพียงอย่างเดียวไม่เพียงพอที่จะทำให้เกิดช่องโหว่

ช่องโหว่นี้จะทำงานก็ต่อเมื่อแอปพลิเคชันทำการ re-encodes JPEG 12-bit หรือ 16-bit ใหม่ ซึ่งเหตุการณ์นี้อาจเกิดขึ้นได้ในระหว่างกระบวนการสร้างรูปภาพ thumbnail หรือขั้นตอนการสั่งบันทึกรูปภาพด้วยตนเอง

ถึงอย่างไร การโจมตีให้สำเร็จยังจำเป็นต้องอาศัยข้อมูลการรั่วไหลของตำแหน่งหน่วยความจำ และความสามารถในการจัดการ Heap ในระดับที่ซับซ้อน ซึ่งเงื่อนไขพื้นฐานเหล่านี้เป็นปัจจัยสำคัญที่ทำให้ความเสี่ยงที่จะเกิดการโจมตีจริงนั้นลดลงอย่างมาก

Microsoft ได้ออกแพตช์เพื่อแก้ไขปัญหา uninitialized function pointers ซึ่งสอดคล้องกับแนวทางการแก้ไขที่เคยนำมาใช้ใน libjpeg-turbo เวอร์ชัน 3.1.1

ในเวอร์ชันที่ได้รับการแพตช์แล้ว ระบบจะมีการกำหนดค่าเริ่มต้นให้กับ Pointer เหล่านี้อย่างถูกต้อง และเพิ่มขั้นตอนการตรวจสอบค่า NULL ก่อนที่จะมีการอ้างอิงตำแหน่งข้อมูล ทั้งนี้ ผู้ที่ยังใช้งานไฟล์ WindowsCodecs.dll เวอร์ชัน 10.0.26100.0 ถึง 10.0.26100.4945 จะยังคงมีความเสี่ยงต่อช่องโหว่นี้

แม้ว่าช่องโหว่ CVE-2025-50165 จะถูกจัดระดับความรุนแรง Critical แต่ผลการสืบสวนของ ESET ช่วยยืนยันการประเมินของ Microsoft ว่าการโจมตีจริงนั้นไม่น่าจะเกิดขึ้นได้เนื่องจากต้องอาศัยเงื่อนไขเฉพาะเจาะจง

ตามรายงานจาก Welivesecurity องค์กรควรให้ความสำคัญกับการแก้ไขระบบที่มีช่องโหว่ โดยเฉพาะอย่างยิ่งระบบที่จัดการไฟล์ภาพที่ไม่น่าเชื่อถือ

งานวิจัยนี้เน้นย้ำถึงความจำเป็นในการอัปเดตไลบรารีของ third-party อย่างสม่ำเสมอ และใช้มาตรการตรวจสอบความถูกต้องของข้อมูลนำเข้าที่มีประสิทธิภาพสำหรับทุกกระบวนการประมวลผลรูปภาพ ช่องโหว่ของ Windows Imaging Component อาจส่งผลให้เกิดการโจมตีแบบเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกล (RCE) ภายใต้สถานการณ์การโจมตีที่มีความซับซ้อน

ที่มา : cybersecuritynews