นักวิจัยจาก Cider Security เปิดเผยช่องโหว่ด้านความปลอดภัย บน GitHub Action ที่อนุญาตให้ผู้ไม่หวังดีทำการ bypass กลไกการตรวจสอบ และไม่ให้มีการตรวจสอบ Code ในส่วนที่เกิดขึ้นบน branch ที่จะสามารถถูกส่งต่อไปยัง Production ได้

Flaws In GitHub Actions Bypass Code Review Mechanism

Omer Gil และทีม พบช่องโหว่ซึ่งเป็นส่วนหนึ่งของ DevOps ตาม Blog และได้แจ้งกับทาง Information Security Media Group ว่าต้องมีการตรวจสอบกลไกในการตรวจสอบบน GitHub และเนื่องจาก GitHub Actions เป็นส่วนที่มีการติดตั้งเป็นค่า default เบื้องต้นทำให้มีผลต่อองค์กรที่มีการใช้งานทุกที่

GitHub เป็นแพลตฟอร์มในการพัฒนาซอฟต์แวร์ที่ใช้ควบคุมการดำเนินการแก้ไข การตรวจสอบการดำเนินการต่างๆใน Codeโปรแกรมต่างๆที่ทางผู้พัฒนาโปรแกรมได้ทำการสร้างขึ้น โดย GitHub Action คือการส่งต่อข้อมูลที่ทางผู้พัฒนาได้มีการแก้ไข สร้าง workflows เพื่อทำการส่งต่อไปยัง production

เมื่อ workflows ทำงานจะทำการสร้าง GITHUB_TOKEN มาใช้เพื่อทำการตรวจสอบสิทธิ์ โดยสิทธิ์ต่างๆจะถูกตั้งค่าตามแต่ละองค์กร เช่น สิทธิ์ในการ อ่าน เขียน เข้าถึงขอบเขตของข้อมูลบางส่วน เนื้อหา แพ็คเกจที่สามารถร้องขอได้ โดยผู้ใช้งานที่มีสิทธิ์ในการเขียน สามารถปรับเปลี่ยนการอนุญาตในการเข้าถึงไฟล์หรืออนุญาตการ merge หากผู้ไม่หวังดีสามารถเข้าถึง Account ที่มีสิทธิ์ในการแก้ไขได้ จะสามารถส่ง Code ที่เป็นอันตรายไปยังระบบงานต่างๆที่สามารถเข้าถึงได้ทั้งหมด

โดย GITHUB_TOKEN จะทำงานควบคู่กับ PR (การตรวจสอบทบทวนสิ่งที่มีการขอ merge request) User สามารถทบทวนสิ่งที่ผู้ใช้งานบางคนทำการเปลี่ยนแปลงแก้ไข ก่อนที่จะส่งไปยังระบบงาน production เมื่อ PR ถูกสร้างขึ้นมาจะไม่สามารถ merge ข้อมูลรวมกันได้เนื่องจากจะต้องมีการอนุมัติเสียก่อน แต่ในการโจมตีนี้ workflows จะทำงานทันทีเมื่อมีการอนุญาตจาก PR โดย github-actions bot

โดยทางนักวิจัยได้รายงานเหตุการณ์ ดังกล่าวกับทาง GitHub และบอกถึงผู้ใช้งาน GitHub ให้ดำเนินการปิด GitHub Action หากไม่ได้ใช้งาน และเพิ่มการตรวจสอบสิทธิ์ในการส่งต่อ Code ให้มากขึ้นโดยการตรวจสอบมากกว่า 2 ครั้งขึ้นไปจนกว่า GitHub จะมีการแก้ไขช่องโหว่ดังกล่าว

ที่มา: bankinfosecurity.com