Project Zero ของ Google โจมตีอีกครั้ง เปิดเผยรายละเอียดข้อบกพร่อง "ความรุนแรงสูง" ของ GitHub
3 นาที. อ่าน
เผยแพร่เมื่อ
อ่านหน้าการเปิดเผยข้อมูลของเราเพื่อดูว่าคุณจะช่วย MSPoweruser รักษาทีมบรรณาธิการได้อย่างไร อ่านเพิ่มเติม
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