พบช่องโหว่ Directory Traversal ใน NVIDIA GeForce Experience
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 มีการทำงานเรียกไฟล์มาทำงานในลักษณะเป็น
1 2 |
app.get('/VisualOPS/v.1.0/:shortname', [...] app.get('/VisualOPS/v.1.0/:shortname/:filename', [...] |
นั่นคือกำหนดให้ path หลัง /VisualOPS/v.1.0/ จะกลายเป็นค่าของ parameter shortname และหลัง shortname จะเป็น file name
ทีนี้หากมีการ request เป็น
1 |
GET 127.0.0.1:49612/VisualOPS/v.1.0/rust/rust_001.jpg |
จะเป็นการดึงภาพไฟล์ rust_001.jpg มาแสดงผล (path เต็มๆคือ AppData/Local/NVIDIA/NvBackend/VisualOPS/rust/rust_001.jpg)
ทีนี้หากมีการ request เป็น
1 |
GET 127.0.0.1:49612/VisualOPS/v.1.0/rust/..%2F..%2Fbackend.log |
พบว่าสามารถเอาไฟล์ backend.log ที่อยู่นอก folder VisualOPS เอามาแสดงผลได้ นั่นหมายความว่าไม่ได้มีการกันการ include ไฟล์จากภายนอก ทำให้สามารถเรียกไฟล์ใดๆของเครื่องก็ได้
ยกตัวอย่างการ request มีการแสดงผล private key ที่เก็บไว้ในเครื่อง
1 |
GET 127.0.0.1:49612/VisualOPS/v.1.0/rust/..%2F..%2F..%2F..%2F..%2F..%2F.ssh/id_rsa |
ตอนนี้ทาง NVIDIA ได้รับแจ้งช่องโหว่นี้แล้ว และได้มีการออก patch update มาแล้วครับ หากใครใช้อยู่สามารถ update ได้เลยครับ
ระบบที่ได้รับผลกระทบ: เครื่องที่ติดตั้ง NVIDIA GeForce Experience ต่ำกว่า 23.0.4.0
ผลกระทบ: Directory Traversal
วิธีแก้ไข: Update ให้ NVIDIA GeForce Experience เป็น Version ล่าสุด
Source:: thesbros.gtthub.io