เจาะช่องโหว่ Git Hook เจาะโฮมแลป: อุทาหรณ์เซิร์ฟเวอร์
เตือนภัยคนรัน Git ส่วนตัว! พบบอทอาศัยช่องโหว่ CVE-2026-60004 บน Forgejo v13 ที่หมดอายุขัยแล้ว ฝังมัลแวร์ขุดเหรียญสูบซีพียู

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- การเปิดสมัครสมาชิกสาธารณะบนโฮมแลป Git เป็นช่องทางให้แฮกเกอร์เจาะระบบเข้ามาได้
- ช่องโหว่ CVE-2026-60004 เปิดทางให้เขียนไฟล์ลงใน repository ได้อย่างอิสระ
- แฮกเกอร์ใช้สคริปต์ Git Hook แบบ post-index-change และมีวิธีดาวน์โหลดสำรองถึง 6 แบบ
- Forgejo v13 หมดอายุขัย (EOL) ตั้งแต่เดือนมกราคม 2026 โดยไม่ได้อัปเดตแพตช์ความปลอดภัย
เรื่องราวเริ่มต้นขึ้นเมื่อผู้ใช้งานโฮมแลปรายหนึ่งสะดุ้งตื่นจากเสียงแจ้งเตือนผ่านแอปพลิเคชัน Pushover หลังจากพบว่าหน่วยประมวลผล Intel Core i5-10600K ของเซิร์ฟเวอร์ทำงานหนักถึง 50% ต่อเนื่องยาวนานกว่า 24 ชั่วโมงเต็ม การตรวจสอบหาสสาเหตุเชิงลึกเผยให้เห็นเหตุการณ์ไม่คาดฝันที่เกิดจากการหลงลืมอัปเดตระบบเซิร์ฟเวอร์ Git ที่โฮสต์ด้วยตัวเอง (Self-hosted Git)
สาเหตุหลักมาจากเซิร์ฟเวอร์รัน Forgejo เวอร์ชัน 13 ซึ่งสิ้นสุดอายุการใช้งาน (End-of-Life) ไปตั้งแต่เดือนมกราคม 2026 และตั้งค่าเปิดให้ใครก็ตามสมัครสมาชิกเข้ามาได้ (Open signup) ซึ่งเป็นจุดเริ่มต้นที่เปิดโอกาสให้ผู้ไม่หวังดีเข้ามาสำรวจระบบจนพบช่องโหว่รหัส CVE-2026-60004 ซึ่งเป็นจุดบกพร่องใน endpoint ของ Gitea diffpatch ที่ยอมให้ผู้โจมตีเขียนไฟล์ใดๆ ลงไปใน repository ได้ตามอำเภอใจ
ช่องโหว่ในลักษณะนี้สะท้อนให้เห็นความเสี่ยงของการดูแลระบบโฮมแลปด้วยตัวเอง (Self-hosted) ต่างจากการใช้บริการคลาวด์สำเร็จรูปที่มีทีมงานมืออาชีพคอยอัปเดตความปลอดภัยให้ตลอดเวลา เมื่อรันเซิร์ฟเวอร์เอง หน้าที่ในการติดตามข่าวสารช่องโหว่และการอัปเดตจึงตกเป็นของผู้ใช้งานแบบเต็มๆ การปล่อยปละละเลยเซิร์ฟเวอร์ทิ้งไว้โดยไม่แพตช์ซอฟต์แวร์ถือเป็นความเสี่ยงอันดับต้นๆ ของระบบไอที

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
ผู้โจมตีได้ใช้ช่องโหว่นี้ในการฝังมัลแวร์ผ่านสคริปต์ Git Hook ประเภท post-index-change โดย Git Hook คือสคริปต์อัตโนมัติที่จะทำงานในขั้นตอนต่างๆ ของกระบวนการ Git เช่น ก่อนคอมมิตหรือหลังรวมโค้ด ซึ่งทรงพลังมากสำหรับการพัฒนา แต่วิธีเดียวกันนี้ก็อันตรายถึงชีวิตหากปล่อยให้บุคคลภายนอกเข้าถึงสิทธิ์ในการเขียนสคริปต์ดังกล่าวได้
ความซับซ้อนของการโจมตีครั้งนี้ไม่ใช่ฝีมือของแฮกเกอร์มือสมัครเล่นทั่วไป เนื่องจากสคริปต์ดังกล่าวมีวิธีการดาวน์โหลดสำรองถึง 6 วิธี ซึ่งแสดงถึงการวางแผนมาเป็นอย่างดี เจ้าของเซิร์ฟเวอร์ยอมรับว่าตนเองขาดการติดตามบันทึกการเปลี่ยนแปลง (Release notes) ของซอฟต์แวร์ที่ใช้งานอยู่
- Forgejo v13 หมดอายุการสนับสนุนในเดือนมกราคม 2026
- CVE-2026-60004 ถูกแพตช์แก้ไขแล้วในเวอร์ชันที่ใหม่กว่า
- การเปิดใช้งาน Public registration โดยไม่มีความจำเป็นถือเป็นความเสี่ยงใหญ่
หากคุณใช้งานแพลตฟอร์ม Git ส่วนตัวเช่น Forgejo หรือ Gitea บทเรียนครั้งนี้เตือนให้รู้ว่าความสะดวกสบายของการมีระบบของตัวเองจะหมดไปทันทีหากละเลยการดูแลรักษาความปลอดภัย หากไม่พร้อมรับมือกับภาระงานเหล่านี้ การหันไปใช้บริการโฮสต์แบบสำเร็จรูปอาจเป็นทางเลือกที่ปลอดภัยกว่า
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น