Tags:
Topics: 
Node Thumbnail

บริษัทความปลอดภัย 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

Get latest news from Blognone

Comments

By: mr_tawan
ContributoriPhoneAndroidWindows
on 6 June 2018 - 18:50 #1053940
mr_tawan's picture

ใช้ sharpcompress อยู่ครับ แต่แอพตัวเองที่ทำไม่มีการแตกไฟล์ออกมาเขียนภายนอกเลย (และไม่เปิดไฟล์ที่ไม่ใช่ไฟล์รูป) คิดว่าไม่น่าจะกระทบอะไร


  • 9tawan.net บล็อกส่วนตัวฮับ
By: terdsak.s on 7 June 2018 - 10:19 #1054060

ดีนะที่ใช้ .7z