Slip Zip Kembali ke Node.js

Belum lama berselang, pada tahun 2018, jenis serangan baru yang terlupakan - Guntur Slip.

Zip Slip adalah kerentanan dekompresi arsip kritis luas yang memungkinkan penyerang untuk menulis file sewenang-wenang ke sistem, yang biasanya mengarah pada eksekusi perintah yang jauh. Itu ditemukan dan diungkapkan oleh tim Keamanan Snyk untuk mengantisipasi pengungkapan publik pada 5 Juni 2018 dan mempengaruhi ribuan proyek, termasuk HP, Amazon, Apache, Pivotal dan banyak lainnya.

Informasi lebih lanjut tentang rincian teknis Zip Slip dapat ditemukan di  situs web .

Sejak itu, sebagian besar kerangka kerja dan bahasa di mana kerentanan ini ditemukan telah diperbaiki, dan kerentanan belum terdengar sejak lama.

Tetapi baru-baru ini, sebuah kasus baru telah muncul tidak kalah menarik dari yang sebelumnya.
Slip Zip di perpustakaan populer untuk Node.js adalah "dekompresi".

Penulis terkejut tidak begitu banyak dengan kerentanan seperti dengan teknik mengeksploitasi kerentanan ini menggunakan Kondisi Ras.

Kondisi Lomba (catatan, Kondisi Lomba), juga kompetisi adalah kesalahan dalam merancang sistem atau aplikasi multi-ulir di mana pengoperasian sistem atau aplikasi tergantung pada urutan di mana bagian kode dijalankan.

Untuk contoh luar biasa mengeksploitasi kerentanan semacam itu, lihat  tautannya .

Penjelasan terperinci tentang kerentanan diberikan dalam  masalah ke repositori proyek.

Adapun fitur operasi - inilah yang penulis tulis:

,   ยซ ยป .zip-, yauzl , ยซ..ยป.

,     , .

   . ,      ,   .

,     , .  /    , .  .     - :

mkdir generic_dir
ln -s ../ generic_dir/symlink_to_parent_dir
ln -s / symlink_to_root
touch generic_dir/symlink_to_parent_dir/generic_dir/symlink_to_parent_dir/[...]/symlink_to_root/tmp/slipped_zip.txt

!

Sekarang coba bayangkan cara kerjanya! ;)

Pengidentifikasi dicadangkan untuk kerentanan ini: CVE-2020-12265.

Diposting oleh Egor Bogomolov, Kepala Layanan Keamanan Informasi, HackerU Rusia

All Articles