ผลกระทบ
ผู้โจมตีที่ได้รับการตรวจสอบสิทธิ์สามารถรันโค้ด PHP ได้อย่างอิสระบนเว็บเซิร์ฟเวอร์ [S1] ซึ่งช่วยให้สามารถประนีประนอมระบบได้อย่างสมบูรณ์ รวมถึงการขโมยข้อมูล การแก้ไขเนื้อหาไซต์ และการเคลื่อนไหวด้านข้างภายในสภาพแวดล้อมการโฮสต์ [S1]
ต้นเหตุ
ช่องโหว่นี้มีอยู่ในองค์ประกอบผู้แต่งเทมเพลต SPIP และคอมไพเลอร์ [S1] ระบบล้มเหลวในการตรวจสอบความถูกต้องหรือฆ่าเชื้ออินพุตภายในแท็กเทมเพลตเฉพาะเมื่อประมวลผลไฟล์ที่อัปโหลด [S1] โดยเฉพาะอย่างยิ่ง คอมไพเลอร์จัดการแท็ก INCLUDE หรือ INCLURE ที่สร้างขึ้นอย่างไม่ถูกต้องภายในไฟล์ HTML [S1] เมื่อผู้โจมตีเข้าถึงไฟล์ที่อัพโหลดเหล่านี้ผ่านการกระทำ valider_xml แท็กที่เป็นอันตรายจะถูกประมวลผล ซึ่งนำไปสู่การเรียกใช้โค้ด PHP [S1]
เวอร์ชันที่ได้รับผลกระทบ
- SPIP เวอร์ชัน 3.1.2 และเวอร์ชันก่อนหน้าทั้งหมด [S1]
การแก้ไข
อัปเดต SPIP เป็นเวอร์ชันใหม่กว่า 3.1.2 เพื่อแก้ไขช่องโหว่นี้ [S1] ตรวจสอบให้แน่ใจว่าสิทธิ์การอัปโหลดไฟล์นั้นจำกัดไว้เฉพาะผู้ใช้ผู้ดูแลระบบที่เชื่อถือได้เท่านั้น และไฟล์ที่อัปโหลดไม่ได้ถูกจัดเก็บไว้ในไดเร็กทอรีที่เว็บเซิร์ฟเวอร์สามารถเรียกใช้งานเป็นสคริปต์ [S1]
วิธีทดสอบ FixVibe
FixVibe สามารถตรวจพบช่องโหว่นี้ได้ด้วยวิธีหลักสองวิธี:
- การพิมพ์ลายนิ้วมือแบบพาสซีฟ: ด้วยการวิเคราะห์ส่วนหัวการตอบสนอง HTTP หรือเมตาแท็กเฉพาะในซอร์ส HTML ทำให้ FixVibe สามารถระบุเวอร์ชันที่กำลังทำงานอยู่ของ SPIP [S1] หากเวอร์ชันเป็น 3.1.2 หรือต่ำกว่า ระบบจะทริกเกอร์การแจ้งเตือนความรุนแรงสูง [S1]
- การสแกนพื้นที่เก็บข้อมูล: สำหรับผู้ใช้ที่เชื่อมต่อพื้นที่เก็บข้อมูล GitHub เครื่องสแกน repo ของ FixVibe สามารถตรวจสอบไฟล์การขึ้นต่อกันหรือค่าคงที่ที่กำหนดเวอร์ชันในซอร์สโค้ด SPIP เพื่อระบุการติดตั้งที่มีช่องโหว่ [S1]
