พบช่องโหว่ 0-Day ใน jQuery Plugin มีสอนใน Youtube มาแล้วหลายปีและแอปจำนวนหลายพันได้รับผลกระทบ
Larry Cashdollar นักวิจัยจาก Akamai ได้คนบนช่องโหว่บนปลั้กอิน jQuery File Upload ซึ่งพบว่าสามารถทำให้เกิดการอัปโหลด Web Shell และรันคำสั่งบนเซิร์ฟเวอร์ได้ ที่น่าตกใจคือช่องโหว่เกิดขึ้นมากว่า 8 ปีแล้วและมีวีดีโอสอนบนยูทูปมากว่า 3 ปีเช่นกัน ที่สำคัญคือมีการนำปลั้กอินตัวนี้ไปใช้ต่อไม่น้อยกว่า 7,800 ครั้งแล้ว
jQuery File Upload คือวิตเจ็ตของ jQuery ที่ใช้ได้ในหลายหน้าที่ เช่น เลือกหลายไฟล์, รองรับการลากวาง, Progress Bars, ตรวจสอบและพรีวิวรูปภาพ เสียงและวีดีโอ โดยปลั้กอินสามารถใช้ได้กับแพลตฟอร์มฝั่งเซิร์ฟเวอร์ที่รองรับหน้าอัปโหลดไฟล์ของ HTML เช่น PHP, Python, Ruby on rails, Java, Node.js, Go และอื่นๆ
โดยตั้งแต่ปี 2010 การอัปเดตของ Apache 2.3.9 ได้ไปปิดไฟล์ .htaccess ที่เก็บการตั้งค่าเกี่ยวกับความมั่นคงปลอดภัยของโฟลเดอร์ โดยที่ทำเช่นนี้ด้วยเหตุผล 2 ประการคือ 1.เพิ่มประสิทธิภาพเพราะเซิร์ฟเวอร์ไม่ต้องไปเช็คไฟล์ .htaccess เมื่อต้องการเข้าถึงไดเรกทอรี่ 2.ป้องกันไม่ให้ใครเข้าไปเขียนทับการตั้งค่าด้านความมั่นคงปลอดภัย อย่างไรก็ตามประเด็นคือกลายเป็นว่าปลั้กอินที่เคยอาศัย .htaccess เพื่อช่วยเรื่องการจำกัดการเข้าถึงจึงไม่ได้ประโยชน์เหมือนเคย ซึ่ง jQuery File upload ก็เป็นหนึ่งในปลั้กอินที่มีการเพิ่มไฟล์เข้าไปยังไดเรกทอรี่ของ Root ได้ด้วย ดังนั้นเมื่อ Cashdollar ได้เจาะลึกในแพ็กเกจได้ไปพบว่าสามารถใช้ไฟล์ 2 ตัวที่ชื่อ upload.php และ UploadHandler.php ทำการอัปโหลด Web Shell และรันคำสั่งบนเซิร์ฟเวอร์ได้ สามารถติดตามรายละเอียดเต็มๆ ได้บนบล็อกของ Akamai
สถานการณ์ปัจจุบันคือ Sebastian Tschan นักพัฒนาของปลั้กอินที่เกิดปัญหาได้แก้ไขช่องโหว่ด้วยการแก้โค้ดให้อนุญาตอัปโหลดไฟล์ได้เฉพาะชนิดรูปภาพเป็นค่าพื้นฐาน เช่น GIF, JPG, JPEG และ PNG พร้อมกับบอกวิธีการเปิดเนื้อหาแบบอื่นโดยไม่เกิดผลกระทบด้านความมั่นคงปลอดภัยไว้ที่นี่ ดังนั้นผู้ใช้งานควรเข้าไปอัปเดต jQuery File Upload ให้เป็นเวอร์ชันล่าสุดเพราะจากการทดสอบของนักวิจัยกล่าวว่า “ผมได้ทดสอบโปรเจ็คที่ได้นำ jQuery ไปใช้ต่อจำนวน 1,000 แห่งพบว่ามีเพียง 36 แห่งเท่านั้นที่รอดจากช่องโหว่” โดยยังได้เผยโค้ด PoCของตนไว้ด้วยและช่องโหว่มีหมายเลขอ้างอิงคือ CVE-2018-9206 นั่นเอง แต่ที่ร้ายกว่าคือมีคนโพสต์สอนวิธีใช้ช่องโหว่นี้อย่างละเอียดไว้บน Youtube มาตั้งแต่ปี 2015 แล้วซึ่งไม่รู้ว่ามีแฮ็กเกอร์เข้าถึงแหล่งข้อมูลและนำไปใช้เท่าไหร่แล้วบ้าง
Comments
Post a Comment