
พบช่องโหว่ Remote Code Execution (RCE) ระดับ Critical ใน MITRE Caldera ซึ่งเป็นเฟรมเวิร์กสำหรับการจำลองการโจมตีที่มีการใช้งานอย่างแพร่หลาย
ช่องโหว่ CVE-2025-27364 ส่งผลกระทบต่อทุกเวอร์ชันก่อนหน้าการ commit 35bc06e ซึ่งอาจทำให้ระบบที่ใช้เซิร์ฟเวอร์ Caldera ตกอยู่ในความเสี่ยงต่อการถูกโจมตีโดยไม่ต้องผ่านการยืนยันตัวตน
ผู้ไม่หวังดีสามารถใช้ประโยชน์จากช่องโหว่นี้โดยใช้ฟีเจอร์ dynamic compilation ใน Sandcat และ Manx agents ของ Caldera ซึ่งทำให้สามารถเรียกใช้คำสั่งได้ตามที่ต้องการบนเครื่องเป้าหมายได้
MITRE ได้ออกแพตช์แก้ไขช่องโหว่ และแนะนำให้อัปเดตเป็นเวอร์ชัน v5.1.0 หรือเวอร์ชันที่ใหม่กว่าทันที
การวิเคราะห์ทางเทคนิคของช่องโหว่
ช่องโหว่นี้เกิดจากการตรวจสอบความปลอดภัยของอินพุตที่ไม่เพียงพอในกระบวนการคอมไพล์โค้ดของ Caldera agents
Caldera สร้าง Sandcat และ Manx agents แบบไดนามิก ซึ่งเป็นปลั๊กอินที่มีขนาดเล็กที่ถูกออกแบบมาเพื่อรันคำสั่งต่าง ๆ ในระหว่างการฝึกซ้อมด้านความปลอดภัยทางไซเบอร์
Agents เหล่านี้จะถูกคอมไพล์ทันที โดยใช้พารามิเตอร์ที่ผู้ใช้ส่งผ่านทาง HTTP headers ซึ่งแม้จะช่วยในการดำเนินการของ Red team แต่ก็ทำให้เกิด Attack surface ที่อันตรายโดยไม่ตั้งใจ
Dynamic Compilation และ Command Injection
กระบวนการคอมไพล์เกี่ยวข้องกับฟังก์ชันที่ใช้ภาษา Go (compile_go()) ซึ่งจะประมวลผล linker flags (ldflags) จาก request ที่เข้ามา
แม้ว่าโค้ดของ Caldera จะใช้ subprocess.check_output() โดยไม่ใช้ shell=True ซึ่งเป็นการปฏิบัติที่ช่วยลดความเสี่ยงจากการแทรกคำสั่งผ่าน shell แต่การจัดการกับ ldflags ภายหลังนั้นกลับสร้างความเสี่ยง
ผู้ไม่หวังดีสามารถแก้ไข ldflags เหล่านี้เพื่อแทรกแซงการกำหนดค่า external linker ของคอมไพลเลอร์ ซึ่งอาจนำไปสู่การเรียกใช้โค้ดตามที่ต้องการบนระบบเป้าหมายได้

หลักการสำคัญในการโจมตีคือ '-wrapper flag' ใน GCC ซึ่งช่วยให้สามารถระบุโปรแกรมตัวกลางในการเรียกคำสั่ง subprocess ได้
โดยการตั้งค่า '-extld=gcc' และการเพิ่ม -wrapper พร้อมกับคำสั่งที่เป็นอันตราย (เช่น python3 -c '...') ผู้ไม่หวังดีจะสามารถ Bypass การควบคุมความปลอดภัยของ Caldera และเรียกใช้คำสั่งตามที่ต้องการได้
เทคนิคนี้ใช้ประโยชน์จาก dependencies ของเซิร์ฟเวอร์ (เช่น Go, Python, GCC) เพื่อรัน payloads โดยตรงบนเครื่องโฮสต์
รายละเอียด CVE-2025-27364
- หมายเลข CVE : CVE-2025-27364
- คะแนน CVSS : 9.8 (Critical)
- เวอร์ชันที่ได้รับผลกระทบ : ทุกเวอร์ชันของ Caldera ก่อน commit 35bc06e
- แพตช์ : อัปเกรดเป็น Caldera v5.1.0 หรือใหม่กว่า หรือใช้ commit 35bc06e
- ช่องทางการโจมตี : การโจมตีจากระยะไกล, ไม่มีการยืนยันตัวตน
- ผลกระทบ : การเข้าควบคุมระบบทั้งหมดผ่านการเรียกใช้โค้ดที่เป็นอันตรายจากระยะไกล (RCE)
ช่องโหว่นี้ถูกพบโดยนักวิจัยด้านความปลอดภัย Dawid Kulikowski ซึ่งได้รายงานผ่านกระบวนการการเปิดเผยข้อมูลที่ประสานงานโดย MITRE

MITRE ให้เครดิตกับ Kulikowski สำหรับการค้นพบนี้ และเน้นย้ำถึงความสำคัญของการร่วมมือด้านความปลอดภัยจากชุมชนในการค้นหาช่องโหว่ และการแก้ไขปัญหาด้านความปลอดภัยทางไซเบอร์
Proof of Concept (PoC)
คำสั่ง curl ต่อไปนี้แสดงให้เห็นถึงการใช้ช่องโหว่ในการโจมตีโดยการเปิด reverse shell บนเซิร์ฟเวอร์ Caldera

การโจมตีสำเร็จจะทำให้เซิร์ฟเวอร์ Caldera รันสคริปต์ Python ที่ฝังอยู่ ซึ่งจะเปิด reverse shell ให้กับผู้ไม่หวังดีพร้อมสิทธิ์ผู้ดูแลระบบ
นักวิจัยพบผลลัพธ์ดังต่อไปนี้บนเซิร์ฟเวอร์ที่ถูกโจมตีระหว่างการทดสอบ

การลดผลกระทบ และคำแนะนำ
MITRE ได้ออกคำแนะนำเร่งด่วน โดยแนะนำให้ดำเนินการตามขั้นตอนดังต่อไปนี้
- อัปเกรดทันที : อัปเดต Caldera เป็น v5.1.0 หรือเวอร์ชันที่ใหม่กว่า ซึ่งจะจำกัดการปรับแต่ง linker flag และทำการตรวจสอบพารามิเตอร์การคอมไพล์
- การแยกเครือข่าย : แยกเซิร์ฟเวอร์ Caldera ออกจากสภาพแวดล้อมที่มีข้อมูลสำคัญเพื่อจำกัดการโจมตีของผู้ไม่หวังดีภายในเครือข่าย
- การเสริมความแข็งแกร่ง : ลบเครื่องมือการสร้าง (build tools) ที่ไม่จำเป็น (เช่น GCC) ออกจากระบบที่ใช้งาน Caldera ใน Production
องค์กรที่ใช้ Caldera สำหรับการฝึกอบรม หรือการทดสอบ ควรทำการตรวจสอบเซิร์ฟเวอร์ของตนเพื่อหาหลักฐานการถูกโจมตี เช่น Process ที่ผิดปกติ หรือการเชื่อมต่อเครือข่ายที่มาจากโฮสต์ Caldera ซึ่งอาจแสดงให้เห็นถึงการถูกแทรกซึม หรือการโจมตีช่องโหว่ที่เกิดขึ้น
CVE-2025-27364 แสดงให้เห็นถึงความเสี่ยงจากการสร้างโค้ดแบบไดนามิกในเครื่องมือป้องกัน โดยแสดงให้เห็นถึงวิธีที่พารามิเตอร์ที่ควบคุมโดยผู้ไม่หวังดีสามารถนำไปสู่ความล้มเหลวทั้งระบบ ซึ่งเกิดจากการที่กระบวนการคอมไพล์ และการจัดการพารามิเตอร์ไม่เพียงพอในการป้องกันภัยคุกคาม
การตอบสนองที่รวดเร็วของ MITRE ถือเป็นมาตรฐานใหม่สำหรับการบำรุงรักษาโปรเจกต์โอเพ่นซอร์ส แต่ผู้ดูแลระบบยังคงต้องระมัดระวัง และติดตามช่องโหว่ที่อาจเกิดขึ้นอย่างต่อเนื่อง
ที่มา : gbhackers

You must be logged in to post a comment.