Project Zero ของ Google โจมตีอีกครั้ง เปิดเผยรายละเอียดข้อบกพร่อง "ความรุนแรงสูง" ของ GitHub

ไอคอนเวลาอ่านหนังสือ 3 นาที. อ่าน


ผู้อ่านช่วยสนับสนุน MSpoweruser เราอาจได้รับค่าคอมมิชชันหากคุณซื้อผ่านลิงก์ของเรา ไอคอนคำแนะนำเครื่องมือ

อ่านหน้าการเปิดเผยข้อมูลของเราเพื่อดูว่าคุณจะช่วย MSPoweruser รักษาทีมบรรณาธิการได้อย่างไร อ่านเพิ่มเติม

ไมโครซอฟต์ GitHub

Project Zero ของ Google เกิดขึ้นอีกครั้งโดยเปิดเผยรายละเอียดของช่องโหว่ที่ไม่ได้รับการแก้ไขในซอฟต์แวร์ของ Microsoft

วันนี้บริษัทได้เปิดเผยข้อมูลของการใช้ประโยชน์ "ความรุนแรงสูง" ใน GitHub ซึ่งจะอนุญาตให้มีการเรียกใช้โค้ดจากระยะไกล

ข้อบกพร่องในคำสั่งเวิร์กโฟลว์ซึ่งทำหน้าที่เป็นช่องทางการสื่อสารระหว่างการดำเนินการที่ดำเนินการกับ Action Runner ได้รับการอธิบายโดยเฟลิกซ์ วิลเฮล์ม ผู้ค้นพบปัญหาดังนี้

ปัญหาใหญ่ของฟีเจอร์นี้คือมีความเสี่ยงสูงที่จะฉีดโจมตี เนื่องจากกระบวนการรันเนอร์จะแยกวิเคราะห์ทุกบรรทัดที่พิมพ์ไปยัง STDOUT เพื่อค้นหาคำสั่งเวิร์กโฟลว์ทุกการดำเนินการของ Github ที่พิมพ์เนื้อหาที่ไม่น่าเชื่อถือซึ่งเป็นส่วนหนึ่งของการดำเนินการจึงมีช่องโหว่ ในกรณีส่วนใหญ่ความสามารถในการตั้งค่าตัวแปรสภาพแวดล้อมที่กำหนดเองจะส่งผลให้มีการเรียกใช้โค้ดระยะไกลทันทีที่ดำเนินการเวิร์กโฟลว์อื่น

ฉันได้ใช้เวลาดูที่เก็บ Github ยอดนิยม และเกือบทุกโครงการที่มีการดำเนินการ Github ที่ค่อนข้างซับซ้อนนั้นมีความเสี่ยงต่อคลาสบั๊กนี้

ปัญหาดูเหมือนจะเป็นพื้นฐานเกี่ยวกับวิธีการทำงานของคำสั่งเวิร์กโฟลว์ ทำให้แก้ไขได้ยากมาก บันทึกคำแนะนำของ GitHub:

คำสั่ง `add-path` และ `set-env` รันเนอร์ได้รับการประมวลผลผ่าน stdout
โมดูล @actions/core npm addPath และฟังก์ชัน exportVariable สื่อสารกับ Actions Runner ผ่าน stdout โดยสร้างสตริงในรูปแบบเฉพาะ เวิร์กโฟลว์ที่บันทึกข้อมูลที่ไม่น่าเชื่อถือไปยัง stdout อาจเรียกใช้คำสั่งเหล่านี้ ส่งผลให้มีการปรับเปลี่ยนเส้นทางหรือตัวแปรสภาพแวดล้อมโดยไม่ได้ตั้งใจจากผู้สร้างเวิร์กโฟลว์หรือการดำเนินการ

แพทช์
นักวิ่งจะปล่อยการอัปเดตที่ปิดใช้งานคำสั่งเวิร์กโฟลว์ set-env และ add-path ในอนาคตอันใกล้ ในตอนนี้ ผู้ใช้ควรอัปเกรดเป็น @actions/core v1.2.6 หรือใหม่กว่า และแทนที่อินสแตนซ์ของคำสั่ง set-env หรือ add-path ในเวิร์กโฟลว์ด้วย Environment File Syntax ใหม่ เวิร์กโฟลว์และการดำเนินการโดยใช้คำสั่งเก่าหรือเวอร์ชันเก่าของชุดเครื่องมือจะเริ่มเตือน จากนั้นจึงเกิดข้อผิดพลาดระหว่างการดำเนินการเวิร์กโฟลว์

วิธีการแก้ปัญหา
ไม่มี ขอแนะนำอย่างยิ่งให้คุณอัปเกรดโดยเร็วที่สุด

Google ค้นพบข้อบกพร่องเมื่อวันที่ 21 กรกฎาคม ทำให้ Microsoft 90 วันในการแก้ไข GitHub เลิกใช้คำสั่งที่มีช่องโหว่และส่งคำแนะนำเกี่ยวกับ "ช่องโหว่ด้านความปลอดภัยระดับปานกลาง" โดยขอให้ผู้ใช้อัปเดตเวิร์กโฟลว์ของตน พวกเขายังขอให้ Google ชะลอการเปิดเผยข้อมูล 14 วันที่ Google ยอมรับ โดยเลื่อนวันที่เปิดเผยไปเป็นวันที่ 2 พฤศจิกายน 2020 Microsoft ขอเลื่อนออกไปอีก 48 ชั่วโมง ซึ่ง Google ปฏิเสธ ส่งผลให้มีการเปิดเผยเมื่อวานนี้

สามารถดูรายละเอียดทั้งหมดของการเจาะระบบได้ ที่ Chromium.org ที่นี่

ผ่านทาง Neowin

ข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อต่างๆ: เอาเปรียบ, Github, โครงการศูนย์

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *