เผยช่องโหว่ Zip Slip ไฟล์ Zip/Rar อาจถูกฝังสคริปต์ไม่ปลอดภัย กระทบไลบรารีหลายตัว

by mk
6 June 2018 - 03:03

บริษัทความปลอดภัย Snyk Security ประกาศข้อมูลช่องโหว่ชื่อ Zip Slip เปิดโอกาสให้ไฟล์บีบอัดข้อมูลประเภท zip, tar, jar, war, cpio, apk, rar, 7z อาจกลายเป็นเครื่องมือแพร่สคริปต์ประสงค์ร้ายได้

แกนหลักของช่องโหว่ Zip Slip คือการระบุชื่อไฟล์เป็นพาธของไดเรคทอรีย้อนกลับ (เช่น ../../../../evil.sh) เพื่อให้แตกไฟล์แล้วนำสคริปต์ประสงค์ร้ายไปวางในไดเรคทอรีชั้นนอกสุด (เช่น /) และหาโอกาสรันสคริปต์นี้ในภายหลัง

ปกติแล้ว โปรแกรมบีบอัดข้อมูลยอดนิยมทั่วไปมักกรองพาธแบบนี้ให้อยู่แล้ว แต่ไลบรารีบีบอัดข้อมูลบางตัวอาจไม่ได้ป้องกันไว้ จึงกลายเป็นช่องโหว่ได้

ที่น่าสนใจคือแพลตฟอร์ม Java ไม่มีไลบรารีบีบอัดข้อมูลอย่างเป็นทางการมาให้ ทำให้นักพัฒนามักไปก็อปปี้โค้ดคลายการบีบอัดจาก StackOverflow มาใช้กัน และโค้ดเหล่านี้มักป้องกันช่องโหว่ลักษณะนี้ได้ไม่ดีพอ ทำให้ช่องโหว่แพร่หลายตามไปด้วย

Snyk ได้ติดต่อกับโครงการโอเพนซอร์สหลายรายให้แก้ช่องโหว่นี้แล้ว และไลบรารีหลายตัว (เช่น unzipper ของ npm, zip4j ของ Java, SharpCompress ของ .NET) ก็อุดช่องโหว่กันเรียบร้อยแล้ว ส่วนโครงการโอเพนซอร์สหลายๆ ตัวที่มีโค้ดคลายการบีบอัดที่ไม่ปลอดภัย ก็ทยอยแก้ปัญหาแล้วเช่นกัน ได้แก่ Apache Hadoop, Apache Ant, ElasticSearch เป็นต้น

สิ่งที่นักพัฒนาควรทำคือ ตรวจสอบว่าซอฟต์แวร์ของตัวเองมีโค้ดคลายการบีบอัดที่ไม่ปลอดภัยหรือไม่ (ตัวอย่างดูได้ตามที่มา) และตรวจสอบชื่อไลบรารีที่อาจไม่ปลอดภัยได้จาก Snyk GitHub

ที่มา - Snyk

Blognone Jobs Premium