สรุปสั้น
นักวิจัยจาก Noscope เปิดเผยช่องโหว่ CVE-2026-27771 ใน Gitea แพลตฟอร์ม self-hosted Git hosting ยอดนิยม ที่ทำให้ผู้ใด้ก็ตามบนอินเทอร์เน็ต ดึง private container image ออกไปได้โดยไม่ต้องมีบัญชี รหัสผ่าน หรือการยืนยันตัวตนใดๆ ทั้งสิ้น ช่องโหว่กระทบ Gitea ทุกเวอร์ชันก่อน 1.26.2 และยังส่งผลต่อ Forgejo ซึ่งเป็น fork ของ Gitea ด้วย Noscope ประเมินว่ามีมากกว่า 30,000 deployment ใน 30+ ประเทศที่ได้รับผลกระทบ และช่องโหว่นี้อยู่ในระบบมาเกือบ 4 ปีโดยไม่ถูกตรวจพบ องค์กรที่ใช้ Gitea เก็บ container image ที่มีโค้ด, credentials, หรือ internal infrastructure ควรแพตช์ทันทีและ audit ว่า image ใดอาจถูก pull ออกไปแล้ว
รายละเอียดข่าว
เว็บไซต์ The Hacker News รายงานเมื่อวันที่ 27 พฤษภาคม 2569 อ้างรายงานของ Noscope บริษัทด้านความปลอดภัยจากสหราชอาณาจักร ว่า Gitea container registry ในเวอร์ชันที่มีช่องโหว่ไม่ได้บังคับใช้การตรวจสอบสิทธิ์ในการดึง container image จาก repository ที่ถูก mark ว่า “private” ทำให้ผู้ใดก็ตามที่รู้ URL หรือสามารถ enumerate ชื่อ image ได้ สามารถ pull image นั้นออกไปได้เหมือนกับเป็น public image กลุ่ม deployment ที่ได้รับผลกระทบหลักอยู่ในจีน สหรัฐอเมริกา เยอรมนี ฝรั่งเศส และสหราชอาณาจักร โดยครอบคลุมองค์กรในหลายสาขา ได้แก่ healthcare, aerospace manufacturing, retail infrastructure และ internet service provider Noscope ระบุว่า Gitea fork ทุกตัวควรถือว่ามีช่องโหว่เช่นเดียวกัน จนกว่าจะได้รับการตรวจสอบโดย maintainer ของ fork นั้นโดยเฉพาะ
รายละเอียดช่องโหว่และการ Patch
ช่องโหว่เกิดจากการที่ Gitea ไม่ได้บังคับ authentication check ในส่วนของ container registry API สำหรับการดึง image แม้ว่า repository จะถูกตั้งค่าเป็น private ก็ตาม ทำให้ “private” designation ไม่ได้ให้ความคุ้มครองจริงในทางปฏิบัติ Gitea ได้ออกเวอร์ชัน 1.26.2 ที่แก้ไขปัญหานี้แล้ว สำหรับองค์กรที่ยังไม่สามารถ update ได้ทันที workaround คือตั้งค่า [service].REQUIRE_SIGNIN_VIEW=true ใน Gitea configuration อย่างไรก็ตาม workaround นี้มีผลข้างเคียงคือทำให้ container image ที่ต้องการเปิดเป็น public ก็ถูกจำกัดด้วย สำหรับ Forgejo — Gitea fork ที่ได้รับความนิยม — ได้รับการยืนยันแล้วว่าได้รับผลกระทบเช่นเดียวกัน ผู้ใช้ Forgejo ควรติดตาม security advisory จาก Forgejo maintainer โดยตรง
ผลกระทบต่อไทย
Gitea และ Forgejo ได้รับความนิยมในหมู่ developer และองค์กรที่ต้องการ self-hosted Git solution ในไทย โดยเฉพาะองค์กรที่ไม่ต้องการฝากโค้ดบน cloud public เช่น GitHub หรือ GitLab ช่องโหว่นี้มีความร้ายแรงเป็นพิเศษเพราะ container image มักมี binary ที่ compile แล้ว, configuration files, environment variables, และอาจมี credentials หรือ internal API endpoint ฝังอยู่ การที่ image ถูก pull ออกไปโดยไม่รู้ตัวจึงเท่ากับเปิดเผย intellectual property และอาจเป็นก้าวแรกของการโจมตีที่ใหญ่กว่า
คำแนะนำ
- อัปเดต Gitea เป็นเวอร์ชัน 1.26.2 ทันที ดาวน์โหลดจาก gitea.com
- ผู้ใช้ Forgejo: ติดตาม security advisory จาก Forgejo maintainer และอัปเดตตามคำแนะนำ
- หากยังอัปเดตไม่ได้: ตั้งค่า
[service].REQUIRE_SIGNIN_VIEW=trueไว้ก่อนเป็น temporary workaround - Audit container registry: ตรวจสอบว่า private image ใดบ้างที่อาจถูก pull ออกไปแล้วระหว่างที่ช่องโหว่ยังอยู่
- ตรวจสอบ fork อื่น: Gitea fork อื่นที่ใช้อยู่ควรถือว่ามีช่องโหว่เช่นกันจนกว่าจะได้รับการยืนยัน
