กลุ่ม ShinyHunters สามารถเจาะเข้า Data Leak Site ของกลุ่ม Ransomware Clop ได้สำเร็จ โดยอาศัยช่องโหว่ CVE-2026-42608 ใน Grav CMS ซึ่งเป็นช่องโหว่ประเภท Unauthenticated Path Traversal บน Core ของ Grav เอง ไม่ใช่ Plugin ตามที่เข้าใจกันในช่วงแรก หลังเจาะระบบสำเร็จ ShinyHunters ได้ Deface หน้าเว็บไซต์ด้วยโลโก้ Pokémon พร้อมข้อความขู่กรรโชก และอ้างว่าได้ขโมย Source Code, Plugin, Server Log รวมถึง Tor Private Key ของ Clop ไปแล้ว
รายละเอียดการโจมตี
สาเหตุของช่องโหว่: การนำ Parameter ที่ไม่ผ่านการตรวจสอบไปสร้าง Path
CVE-2026-42608 เกิดจากการที่ Grav CMS นำค่าที่ผู้ใช้ส่งผ่าน Parameter __unique_form_id__ ไปใช้สร้าง Temporary Upload Directory ในรูปแบบ tmp/forms/<session_id>/<unique_id> โดยไม่ได้ตรวจสอบหรือกรองค่า Input ให้ปลอดภัยเสียก่อน ทำให้ผู้โจมตีสามารถใส่ Directory Traversal Sequence เช่น ../../../shhq เพื่อบังคับให้ไฟล์ถูกเขียนออกไปนอก Directory tmp/forms และไปวางอยู่ในตำแหน่งอื่นภายใต้การติดตั้ง Grav ได้ตามต้องการ
ระดับความรุนแรง: ไม่ต้องยืนยันตัวตนก่อนโจมตี
จุดที่ทำให้ช่องโหว่นี้มีความรุนแรงสูงคือเป็นประเภท Unauthenticated กล่าวคือผู้โจมตีไม่จำเป็นต้องมีบัญชีผู้ใช้หรือผ่านกระบวนการยืนยันตัวตนใดๆ มาก่อนเลย เพียงแค่เว็บไซต์ที่ใช้งาน Grav เปิดให้เข้าถึงได้จากอินเทอร์เน็ตก็มีความเสี่ยงถูกโจมตีได้ทันที ซึ่งขยายกลุ่มเป้าหมายที่ผู้โจมตีสามารถเลือกโจมตีได้อย่างกว้างขวาง
ช่องว่างของการแพตช์: แก้ไขใน Grav 2.0 แต่ไม่ได้ Backport มาที่สาย 1.7
Grav ได้แก้ไขช่องโหว่นี้ไปแล้วใน Grav 2.0 (Beta 2) ตั้งแต่ช่วงต้นปี 2569 พร้อมประกาศ Security Advisory (GHSA-hmcx-ch82-3fv2) เมื่อวันที่ 27 เมษายน 2569 แต่การแก้ไขดังกล่าวไม่เคยถูก Backport กลับมาที่สาย 1.7 ซึ่งยังมีผู้ใช้งานอยู่อย่างแพร่หลาย รวมถึงเว็บไซต์ของ Clop เองที่ใช้งาน Grav เวอร์ชัน 1.7.43 จนกระทั่งหลังจากสื่อ BleepingComputer เปิดเผยเหตุการณ์นี้ Grav จึงออกเวอร์ชัน 1.7.53.4 ที่ Backport การแก้ไขมาให้ในที่สุด
แนวทางการแก้ไขทางเทคนิค
Grav แก้ไขปัญหาด้วยการเพิ่มฟังก์ชัน sanitizeId() ที่อนุญาตให้ค่า Parameter มีได้เฉพาะรูปแบบ [A-Za-z0-9,_-]{1,64} เท่านั้น เป็นการใช้แนวทาง Whitelist เพื่อสกัดกั้นความพยายามทำ Path Traversal โดยเฉพาะ
ผลกระทบที่อาจเกิดขึ้น
1. เว็บไซต์ Grav เวอร์ชัน 1.7 ที่เปิดเผยต่อสาธารณะเสี่ยงถูกโจมตีได้ทันที
เนื่องจากเป็นช่องโหว่ Unauthenticated ที่ไม่ต้องผ่านการยืนยันตัวตน เว็บไซต์ใดก็ตามที่ใช้งาน Grav สาย 1.7 และเปิดให้เข้าถึงได้จากอินเทอร์เน็ตมีความเสี่ยงถูกโจมตีได้ทันทีโดยผู้โจมตีไม่จำเป็นต้องมีข้อมูลบัญชีใดๆ มาก่อน
2. ผู้โจมตีสามารถวางไฟล์ตามอำเภอใจภายในระบบได้
ช่องโหว่ Path Traversal ประเภทนี้เปิดทางให้ผู้โจมตีวางไฟล์ในตำแหน่งที่ต้องการภายในการติดตั้ง Grav ได้ ซึ่งอาจนำไปสู่การวาง Web Shell หรือไฟล์อันตรายอื่นเพื่อควบคุมเว็บไซต์ต่อไปได้
3. ความเสี่ยงจากช่องว่างการ Backport แพตช์ระหว่างเวอร์ชันหลัก
กรณีนี้แสดงให้เห็นว่าการแก้ไขช่องโหว่ในเวอร์ชันใหม่ (Grav 2.0) ไม่ได้หมายความว่าผู้ใช้งานเวอร์ชันเก่าที่ยังได้รับการสนับสนุนอยู่จะปลอดภัยไปด้วย หากไม่มีการ Backport แพตช์กลับมาให้อย่างทันท่วงที
4. แม้เป็นเหตุการณ์ระหว่างกลุ่มอาชญากรไซเบอร์ แต่ช่องโหว่กระทบผู้ใช้ Grav ทั่วไปด้วย
แม้เหตุการณ์นี้จะเป็นการโจมตีระหว่างกลุ่ม ShinyHunters และ Clop แต่ช่องโหว่ CVE-2026-42608 เป็นช่องโหว่จริงที่กระทบผู้ใช้งาน Grav CMS สาย 1.7 ทุกรายที่ยังไม่ได้แพตช์ ไม่ว่าจะเป็นองค์กรหรือเว็บไซต์ทั่วไปที่ไม่เกี่ยวข้องกับอาชญากรรมไซเบอร์แต่อย่างใด
สิ่งที่องค์กรควรทำ
1. ตรวจสอบว่าองค์กรใช้งาน Grav CMS สาย 1.7 หรือไม่
องค์กรควรตรวจสอบทันทีว่ามีการใช้งาน Grav CMS ในโครงสร้างพื้นฐานของตนเองหรือไม่ และหากใช้งานอยู่ ให้ตรวจสอบเวอร์ชันว่าอยู่ในสาย 1.7 ที่ได้รับผลกระทบหรือไม่
2. อัปเดตเป็นเวอร์ชัน 1.7.53.4 หรือย้ายไป Grav 2.x โดยทันที
องค์กรที่ใช้งาน Grav สาย 1.7 ควรอัปเดตเป็นเวอร์ชัน 1.7.53.4 ที่แก้ไขช่องโหว่นี้แล้วโดยทันที หรือพิจารณาย้ายไปใช้งาน Grav 2.x ซึ่งได้รับการป้องกันช่องโหว่นี้มาตั้งแต่ต้นปี
3. ตรวจสอบไฟล์แปลกปลอมภายใน Directory ของ Grav
องค์กรที่ใช้งาน Grav สาย 1.7 มาเป็นระยะเวลานานควรตรวจสอบว่ามีไฟล์แปลกปลอมหรือ Web Shell ถูกวางไว้ภายใน Directory การติดตั้งหรือไม่ เนื่องจากช่องโหว่นี้เปิดเผยต่อสาธารณะมาระยะหนึ่งแล้ว
4. จำกัดการเข้าถึง Form Upload Feature หากยังไม่สามารถแพตช์ได้ทันที
หากยังไม่สามารถอัปเดตได้ในทันที องค์กรควรพิจารณาจำกัดการเข้าถึง Feature ที่เกี่ยวข้องกับ Form Upload ผ่าน Web Application Firewall หรือมาตรการชั่วคราวอื่นเพื่อลดความเสี่ยงระหว่างรอการแพตช์
แนวทางลดความเสี่ยงระยะยาว
1. ติดตามประกาศ Backport แพตช์ระหว่างเวอร์ชันหลักอย่างใกล้ชิด
องค์กรที่ใช้งานซอฟต์แวร์ Open Source ควรติดตามว่าการแก้ไขช่องโหว่ในเวอร์ชันใหม่ได้ถูก Backport กลับมาให้เวอร์ชันที่องค์กรใช้งานอยู่หรือไม่ แทนที่จะสันนิษฐานว่าปลอดภัยเพียงเพราะเวอร์ชันใหม่ได้รับการแก้ไขแล้ว
2. วางแผนอัปเกรดสู่เวอร์ชันหลักใหม่อย่างสม่ำเสมอ
องค์กรควรมีแผนการอัปเกรด CMS หรือซอฟต์แวร์หลักไปสู่เวอร์ชันใหม่อย่างสม่ำเสมอ แทนที่จะค้างอยู่ในเวอร์ชันเก่าเป็นเวลานาน ซึ่งเพิ่มความเสี่ยงจากช่องว่างการสนับสนุนด้านความปลอดภัย
3. ตรวจสอบ Input Validation ของ Feature Upload ไฟล์อย่างสม่ำเสมอ
เหตุการณ์นี้เป็นตัวอย่างของความเสี่ยงจากการตรวจสอบ Input ที่ไม่รัดกุมในฟังก์ชัน Upload ไฟล์ องค์กรที่พัฒนาหรือดูแลระบบเว็บไซต์ของตนเองควรทบทวนกระบวนการ Input Validation ของ Feature ลักษณะนี้อย่างสม่ำเสมอ
4. เสริมการเฝ้าระวังไฟล์ที่ถูกสร้างหรือแก้ไขผิดปกติบนเว็บเซิร์ฟเวอร์
องค์กรควรติดตั้งระบบเฝ้าระวังที่สามารถตรวจจับการสร้างหรือแก้ไขไฟล์ผิดปกติบนเว็บเซิร์ฟเวอร์ โดยเฉพาะไฟล์ที่ถูกวางในตำแหน่งที่ไม่ควรมีการเขียนไฟล์ตามปกติ เพื่อให้ตรวจพบการโจมตีลักษณะ Path Traversal ได้อย่างรวดเร็ว
วิเคราะห์ในมุมมองจาก TXEC
เหตุการณ์นี้เป็นตัวอย่างที่น่าสนใจของสิ่งที่เรียกว่า "Ecosystem ของอาชญากรรมไซเบอร์" ที่แม้แต่กลุ่ม Ransomware เองก็ยังตกเป็นเป้าหมายของกลุ่มอาชญากรอื่นได้เช่นกัน แต่สิ่งที่ TXEC มองว่าสำคัญกว่านั้นสำหรับองค์กรทั่วไปคือข้อเท็จจริงทางเทคนิคของ CVE-2026-42608 เอง ที่แสดงให้เห็นว่าช่องโหว่ Path Traversal แบบ Unauthenticated ยังคงเป็นความเสี่ยงร้ายแรงในซอฟต์แวร์ CMS ที่ใช้งานแพร่หลาย และที่สำคัญยิ่งกว่าคือการที่แพตช์ถูกแก้ไขในเวอร์ชันใหม่แล้วแต่ไม่ได้ถูก Backport มาให้เวอร์ชันเก่าที่ยังมีผู้ใช้งานจำนวนมาก
องค์กรไทยที่ใช้งาน Grav CMS หรือ CMS อื่นในลักษณะเดียวกันควรตรวจสอบทันทีว่าเวอร์ชันที่ใช้งานอยู่ได้รับการ Backport แพตช์ความปลอดภัยที่จำเป็นครบถ้วนหรือไม่ และไม่ควรสันนิษฐานเองว่าการที่เวอร์ชันใหม่ปลอดภัยแล้วหมายความว่าเวอร์ชันเก่าที่ยังใช้งานอยู่จะปลอดภัยตามไปด้วย รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า
[ แหล่งอ้างอิง: BleepingComputer ]