Git ออกเวอร์ชัน 2.17.1 อัพเดตช่องโหว่ความปลอดภัยสำคัญ

by mk
31 May 2018 - 01:52

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 และรันคำสั่งได้

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

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

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

Blognone Jobs Premium