Tags:
Topics: 
Node Thumbnail

Git ออกเวอร์ชันใหม่ 2.17.1 แก้ช่องโหว่ด้านความปลอดภัยที่สำคัญ 2 ตัว (CVE-2018-11233 และ 11235) ผู้ใช้ทุกคนควรอัพเดตกันด่วน

ปกติแล้ว Git จะโคลน repository จากเซิร์ฟเวอร์ โดยไม่ดึงไฟล์คอนฟิกบางอย่าง (เช่น .git/config) มายังเครื่องโลคัลด้วยเหตุผลด้านความปลอดภัย เพราะไม่มีอะไรยืนยันได้ว่าไฟล์คอนฟิกบนเซิร์ฟเวอร์จะฝังคำสั่งประสงค์ร้าย ที่สามารถรันบนเครื่องโลคัลได้อัตโนมัติ

อาการของช่องโหว่ CVE-2018-11235 คือในบางกรณีที่ repository มี submodule เป็นโฟลเดอร์ซ้อนอยู่อีกชั้น (เช่น ไลบรารีจากโครงการอื่นๆ) การโคลน submodule จะไม่เกิดการดึงข้อมูลข้ามเครือข่ายขึ้นจริงๆ (เพราะโคลน parent repository มาก่อนหน้านั้นแล้ว) แต่จะเป็นการดึงข้อมูลจาก parent ที่อยู่บนดิสก์แทน

การที่คำสั่งโคลนจริงๆ ไม่ได้ถูกเรียกทำงานในกรณีแบบนี้ ทำให้แฮกเกอร์อาจฝังคอนฟิกประสงค์ร้ายของ submodule ไว้ที่ parent แล้วดาวน์โหลดมาลงเครื่องโลคัลผ่านพฤติกรรมนี้ของ Git และรันคำสั่งได้

No Description

Git 2.17.1 จึงปรับพฤติกรรมการทำงานใหม่เพื่อตรวจสอบช่องโหว่นี้ให้เข้มข้นขึ้น ชื่อโฟลเดอร์ไม่สามารถมีพาธ .. ได้ และไม่สามารถทำ symbolic link ได้

เซิร์ฟเวอร์ Git ยอดนิยมอย่าง GitHub และ Visual Studio Team Services ของไมโครซอฟท์ได้บล็อคพฤติกรรมแบบนี้ไม่ให้ push ขึ้นเซิร์ฟเวอร์แล้ว ฝั่งของไคลเอนต์ควรอัพเดต Git เป็นเวอร์ชัน 2.17.1 หรือถ้าใช้ไคลเอนต์ตัวอื่นๆ ก็ตามอัพเดตให้เป็นเวอร์ชันล่าสุดกันด้วยครับ

ที่มา - Git, Microsoft, Bleeping Computer

Get latest news from Blognone