18/09/2566

ช่องโหว่ระดับ Critical ใน GitHub ทำให้ Repositories มากกว่า 4,000 รายการถูกโจมตีด้วยวิธีการ Repojacking


    พบช่องโหว่ใหม่ใน GitHub อาจทำให้ repositories หลายพันรายการเสี่ยงต่อการถูกโจมตีด้วยวิธีการ Repojacking
    จากรายงานของ Elad Rapoport นักวิจัยด้านความปลอดภัยของ Checkmarx ที่เผยแพร่ผ่านกับ The Hacker News ระบุว่า ช่องโหว่นี้อาจทำให้ผู้ไม่ประสงค์ดีสามารถใช้ประโยชน์จาก race condition ในการดำเนินการสร้าง repository และเปลี่ยนชื่อผู้ใช้ของ GitHub
หากสามารถโจมตีช่องโหว่นี้ได้สำเร็จ จะส่งผลกระทบต่อชุมชน open-source โดยการ hijacking แพ็กเกจมากกว่า 4,000 รายการในภาษาต่าง ๆ เช่น Go, PHP และ Swift รวมถึง GitHub actions
ช่องโหว่นี้ได้รับการแก้ไขโดย Microsoft ไปแล้วในวันที่ 1 กันยายน 2023 หลังจากมีการเปิดเผยเมื่อวันที่ 1 มีนาคม 2023
    มาตรการป้องกันนี้ จะป้องกันไม่ให้ผู้ใช้งานรายอื่นสามารถสร้าง repository ที่มีชื่อเดียวกับ repository ที่มีการโคลนมากกว่า 100 ครั้ง ในขณะที่บัญชีผู้ใช้นั้นถูกเปลี่ยนชื่อ กล่าวคือ ชื่อผู้ใช้ และชื่อ repository นั้นถือว่า "retired (ไม่สามารถใช้งาน หรือสร้างใหม่ได้)"
ซึ่งหากการป้องกันด้วยวิธีการนี้ถูกหลีกเลี่ยงเพียงเล็กน้อย จะทำให้ผู้ไม่ประสงค์ดีสามารถสร้างบัญชีใหม่ด้วยชื่อผู้ใช้เดียวกัน และอัปโหลด repositories ที่เป็นอันตราย ซึ่งอาจนำไปสู่การโจมตีแบบ supply chain attack ของซอฟต์แวร์ได้


    วิธีการใหม่ที่ถูกระบุโดย Checkmarx คือการใช้ประโยชน์จาก race condition ที่อาจเกิดขึ้นระหว่างการสร้าง repository และการเปลี่ยนชื่อผู้ใช้ เพื่อทำการ repojacking โดยเฉพาะ ซึ่งประกอบด้วยขั้นตอนต่อไปนี้
  1. เหยื่อเป็นเจ้าของพื้นที่เก็บข้อมูลชื่อ "victim_user/repo"
  2. เหยื่อเปลี่ยนชื่อจาก "victim_user" เป็น "renamed_user"
  3. repository "victim_user/repo" ถูก retired แล้ว
  4. ผู้ไม่ประสงค์ดีที่มีชื่อผู้ใช้ "attacker_user" สร้างที่เก็บข้อมูลชื่อ "repo" และเปลี่ยนชื่อผู้ใช้ "attacker_user" เป็น "victim_user" พร้อม ๆ กัน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น