Peneliti keamanan telah mengungkapkan detail tentang kerentanan kritis yang berdampak pada library open-source yang menangani arsip file.
Ditemukan oleh para peneliti dari Synk, kerentanan Zip Slip adalah masalah dalam cara pengkode, plugin, dan library yang telah menerapkan proses dekompresi file yang diarsipkan.
Banyak format arsip, termasuk tar, jar, war, cpio, apk, rar, dan 7z, terpengaruh, yang berarti ini lebih merupakan masalah teoritis, daripada bug pengkodean khusus.
Kerentanan menyebabkan file dibuka di tempat yang salah
Menurut peneliti, kerentanan Zip Slip adalah kombinasi antara masalah “arbitrary file overwrite” dan “directory traversal” yang dapat menyebabkan situasi di mana penyerang dapat mengekstrak file di luar jalur normal unzip dan menimpa file sensitif, seperti library atau file konfigurasi penting OS server.
“Dua bagian yang diperlukan untuk mengeksploitasi kerentanan ini adalah arsip berbahaya dan kode ekstraksi yang tidak melakukan pemeriksaan validasi,” kata tim Synk.
Para peneliti mengatakan mereka menemukan kerentanan ini pada bulan April, dan mereka telah bekerja dengan pengelola beberapa library open-source yang rentan terhadap serangan ini.
Beberapa library open-source terpengaruh
Tim Synk telah menerbitkan daftar library yang dipengaruhi oleh Zip Slip di GitHub.
Meskipun library yang ditulis dalam beberapa bahasa pemrograman diketahui terpengaruh —seperti JavaScript, Python, Ruby, .NET, Go, dan Groovy—, masalah ini terutama memengaruhi ekosistem Java karena tidak ada library resmi yang disarankan untuk menangani file arsip.
Sebaliknya, pengembang telah membuat dan menggunakan bermacam-macam library untuk tujuan ini, yang sebagian besar rentan terhadap Zip Slip. Selain itu, masalah ini begitu meluas sehingga bahkan beberapa kode yang dibagikan di StackOverflow ditemukan rentan terhadap kerentanan ini, yang berarti bahwa banyak aplikasi desktop, seluler, atau web yang ditulis di Java mungkin rentan terhadap kerentanan ini tanpa diketahui oleh pengembang.
Untuk membantu pengembang memahami serangan Zip Slip dan membantu mereka dalam mendeteksi jika aplikasi mereka rentan, tim Synk telah menerbitkan sebuah makalah teknis yang merinci kerentanan ini dengan lebih mendalam.
Para peneliti juga telah mempublikasikan proof-of-concept sehingga pengembang dapat menguji aplikasi mereka untuk kerentanan. Video demo juga tersedia di bawah ini.