Kerentanan di perpustakaan PharStreamWrapper mempengaruhi Drupal, Joomla dan Typo3

Di perpustakaan Pembungkus PharStream, yang menyediakan penangan untuk dilindungi dari serangan melalui substitusi file dalam format "Phar", diidentifikasi kerentanan (CVE-2019-11831), yang memungkinkan Anda melewati perlindungan deserialisasi kode dengan mengganti karakter “..” di jalur. Misalnya, penyerang dapat menggunakan URL seperti “phar:///path/bad.phar/../good.phar” untuk menyerang, dan perpustakaan akan menyorot nama dasar “/path/good.phar” ketika memeriksa, meskipun selama pemrosesan lebih lanjut dari jalur tersebut File "/path/bad.phar" akan digunakan.

Perpustakaan ini dikembangkan oleh pembuat CMS TYPO3, tetapi juga digunakan dalam proyek Drupal dan Joomla, yang membuatnya juga rentan terhadap kerentanan. Masalah diperbaiki dalam rilis PharStreamWrapper 2.1.1 dan 3.1.1. Proyek Drupal memperbaiki masalah ini di pembaruan 7.67, 8.6.16 dan 8.7.1. Di Joomla masalah muncul sejak versi 3.9.3 dan diperbaiki pada rilis 3.9.6. Untuk memperbaiki masalah di TYPO3, Anda perlu memperbarui perpustakaan PharStreamWapper.

Di sisi praktis, kerentanan di PharStreamWapper memungkinkan pengguna Drupal Core dengan izin 'Administer theme' untuk mengunggah file phar berbahaya dan menyebabkan kode PHP yang terkandung di dalamnya dieksekusi dengan kedok arsip phar yang sah. Ingatlah bahwa inti dari serangan “Phar deserialization” adalah ketika memeriksa file bantuan yang dimuat dari fungsi PHP file_exists(), fungsi ini secara otomatis melakukan deserialisasi metadata dari file Phar (Arsip PHP) ketika memproses jalur yang dimulai dengan “phar://” . Dimungkinkan untuk mentransfer file phar sebagai gambar, karena fungsi file_exists() menentukan tipe MIME berdasarkan konten, dan bukan berdasarkan ekstensi.

Sumber: opennet.ru

Tambah komentar