NVIDIA GeForce Experience เป็น Application สำหรับนักเล่นเกมส์ที่ใช้การ์ดจอ NVIDIA GeForce โดย Application ดังกล่าวเป็น Application ที่นิยมสำหรับเหล่านัก cast game เนื่องด้วยมีความสามารถปรับแต่ง Configure เกมส์ให้เหมาะกับการ์ดจอได้ สามารถ record การเล่นเกมส์แล้วแชร์ผ่าน Youtube, Twitch และอีกหลายๆ feature ที่ทำให้เหล่าเกมส์แคสเตอร์หลงรัก

แต่อาจจะไม่อีกต่อไป เมื่อมีคนค้นพบช่องโหว่ Directory Traversal ใน  NVIDIA GeForce Experience

เมื่อเข้าไปที่ Program Files (x86)/NVIDIA Corporation พบว่าเป็น Application ที่เขียนด้วย Node.js ใน folder NvNode

โดยเมื่อตรวจสอบพบว่า NVIDIA GeForce Experience ได้สร้าง web server ไว้เพื่อให้บริการเมื่อมีการใช้งาน web helper

ทีนี้ใน NVBackendAPI.js มีการทำงานเรียกไฟล์มาทำงานในลักษณะเป็น

นั่นคือกำหนดให้ path หลัง /VisualOPS/v.1.0/ จะกลายเป็นค่าของ parameter shortname และหลัง shortname จะเป็น file name

ทีนี้หากมีการ request เป็น

จะเป็นการดึงภาพไฟล์ rust_001.jpg มาแสดงผล (path เต็มๆคือ AppData/Local/NVIDIA/NvBackend/VisualOPS/rust/rust_001.jpg)

ทีนี้หากมีการ request เป็น

พบว่าสามารถเอาไฟล์ backend.log ที่อยู่นอก folder VisualOPS เอามาแสดงผลได้ นั่นหมายความว่าไม่ได้มีการกันการ include ไฟล์จากภายนอก ทำให้สามารถเรียกไฟล์ใดๆของเครื่องก็ได้

ยกตัวอย่างการ request มีการแสดงผล private key ที่เก็บไว้ในเครื่อง

ตอนนี้ทาง NVIDIA ได้รับแจ้งช่องโหว่นี้แล้ว และได้มีการออก patch update มาแล้วครับ หากใครใช้อยู่สามารถ update ได้เลยครับ

ระบบที่ได้รับผลกระทบ: เครื่องที่ติดตั้ง NVIDIA GeForce Experience ต่ำกว่า 23.0.4.0

ผลกระทบ: Directory Traversal

วิธีแก้ไข: Update ให้ NVIDIA GeForce Experience เป็น Version ล่าสุด

Source:: thesbros.gtthub.io