RyotaK นักวิจัยชาวญี่ปุ่นจาก GMO Flatt Security ได้เปิดเผยข้อมูล และรายงานเกี่ยวกับช่องโหว่ที่เรียกว่า 'Clone2Leak' ซึ่งประกอบด้วยการโจมตี 3 รูปแบบที่แตกต่างกัน แต่เชื่อมโยงกัน โดยสามารถเข้าถึงข้อมูลส่วนตัวของผู้ใช้งานได้ โดยการใช้ประโยชน์จากช่องโหว่ของ Credential Helpers ซึ่งเป็นเครื่องมือที่ช่วยในการจัดการ authentication requests ต่าง ๆ บน Git
การโจมตีนี้ส่งผลให้ข้อมูลรหัสผ่าน และโทเค็นรั่วไหล โดยส่งผลกระทบต่อซอฟต์แวร์ดังต่อไปนี้ GitHub Desktop, Git LFS, GitHub CLI/Codespaces และ Git Credential Manager ซึ่งทีมพัฒนาได้มีการเผยแพร่ข้อมูลการอัปเดตด้านความปลอดภัยที่ช่วยในการแก้ไขช่องโหว่ทั้งหมด และแนะนำให้ผู้ใช้งานที่ได้รับผลกระทบตรวจสอบให้แน่ใจว่ากำลังใช้เวอร์ชันที่ได้รับการอัปเดต เพื่อป้องกันการรั่วไหลของข้อมูลที่มีความสำคัญ
การโจมตีแบบ Clone2Leak
RyotaK พบว่าช่องโหว่นี้เกี่ยวข้องกับการแยกวิเคราะห์ authentication requests ที่ไม่เหมาะสมที่ส่งไปยัง credential helpers ทำให้ผู้โจมตีสามารถหลอกให้ Git ปล่อยข้อมูล credentials ที่เก็บไว้ออกไปยังเซิร์ฟเวอร์ที่เป็นอันตรายได้
Credential helpers คือเครื่องมือที่ใช้เก็บ และดึงข้อมูล authentication credentials สำหรับการใช้งานเมื่อ Git ทำงานกับ remote repositories โดยเครื่องมือเหล่านี้ช่วยให้ผู้ใช้งานไม่ต้องกรอกข้อมูลการยืนยันตัวตนซ้ำ ๆ ทุกครั้งที่ดำเนินการต่าง ๆ บน Git ซึ่งผู้โจมตีจะสามารถนำข้อมูลที่เก็บไว้ออกไปได้ ก็ต่อเมื่อผู้ใช้งานทำการโคลน (clone) หรือ interacts กับ repository ที่เป็นอันตราย ซึ่งถูกดัดแปลงเพื่อใช้ในการโจมตี
สรุปการโจมตี Clone2Leak จากช่องโหว่ ทั้ง 3 รูปแบบ
1. Carriage Return Smuggling (CVE-2025-23040 และ CVE-2024-50338) – GitHub Desktop และ Git Credential Manager ไม่สามารถตีความอักขระ carriage return (\r) ใน URL ได้อย่างถูกต้อง ทำให้ URL ของ submodule ที่ถูกดัดแปลงด้วย %0D สามารถหลอกให้ credential helpers ส่งข้อมูล credentials ไปยังเซิร์ฟเวอร์ที่ผู้โจมตีควบคุมแทนที่จะส่งไปยังโฮสต์ที่ต้องการ
2. Newline Injection (CVE-2024-53263) – Git LFS อนุญาตให้ใช้ตัวอักขระ newline (\n) ในไฟล์ .lfsconfig ทำให้สามารถ bypass การรักษาความปลอดภัยของ Git ได้ โดยผู้โจมตีสามารถแก้ไข credential requests เพื่อให้ Git ส่งข้อมูล credentials ไปยังเซิร์ฟเวอร์ที่เป็นอันตรายแทนที่จะส่งไปยังเซิร์ฟเวอร์ที่ถูกต้อง
3. Logic Flaws in Credential Retrieval (CVE-2024-53858) – GitHub CLI และ GitHub Codespaces มีช่องโหว่ที่ทำให้ credential helpers สามารถส่ง authentication tokens ไปยังโฮสต์ที่ไม่ถูกต้อง ทำให้ผู้โจมตีสามารถขโมย access tokens บน GitHub โดยหลอกให้ผู้ใช้โคลน repository ที่เป็นอันตรายไว้ภายใน GitHub Codespaces
ปัจจุบันช่องโหว่เหล่านี้ได้รับการแก้ไขแล้ว ผู้ใช้งานควรตรวจสอบให้แน่ใจว่าได้ทำการอัปเดตเป็นเวอร์ชั่นล่าสุดแล้ว เพื่อป้องกันไม่ให้ข้อมูลสำคัญรั่วไหล และควรระมัดระวังในการโคลน repositories จากแหล่งที่ไม่น่าเชื่อถือ
เวอร์ชันที่ปลอดภัยที่ควรอัปเกรด
- GitHub Desktop เวอร์ชัน 3.4.12 ขึ้นไป
- Git Credential Manager เวอร์ชัน 2.6.1 ขึ้นไป
- Git LFS เวอร์ชัน 3.6.1 ขึ้นไป
- GitHub CLI เวอร์ชัน 2.63.0 ขึ้นไป
นอกจากนี้ยังแนะนำให้เปิดใช้งานการตั้งค่าความปลอดภัย 'credential.protectProtocol' บน Git เพื่อเพิ่มการป้องกันจากการถูกโจมตีในลักษณะนี้
รายงานของ Flatt Security ไม่มีการรายงานถึงการใช้ช่องโหว่ในการโจมตีจริง แต่เมื่อช่องโหว่นี้ถูกเปิดเผยทำให้มีแนวโน้มที่เสี่ยงต่อการถูกโจมตีสูงขึ้น ผู้ใช้ควรอัปเดตเครื่องมือ และตรวจสอบการตั้งค่าความปลอดภัยเพื่อป้องกันการโจมตีที่อาจเกิดขึ้น
ที่มา : bleepingcomputer
You must be logged in to post a comment.