Kerentanan dalam perpustakaan PharStreamWrapper yang menjejaskan Drupal, Joomla dan Typo3

Di perpustakaan PharStreamWrapper, yang menyediakan pengendali untuk melindungi daripada daripada serang melalui penggantian fail dalam format "Phar", dikenalpasti kelemahan (CVE-2019 11831-), yang membolehkan anda memintas perlindungan penyahserialisasian kod dengan menggantikan aksara β€œ..” dalam laluan. Sebagai contoh, penyerang boleh menggunakan URL seperti β€œphar:///path/bad.phar/../good.phar” untuk serangan dan pustaka akan menyerlahkan nama asas β€œ/path/good.phar” apabila menyemak, walaupun semasa pemprosesan lanjut laluan sedemikian Fail "/path/bad.phar" akan digunakan.

Perpustakaan ini dibangunkan oleh pencipta CMS TYPO3, tetapi juga digunakan dalam projek Drupal dan Joomla, yang menjadikan mereka juga terdedah kepada kelemahan. Isu dibetulkan dalam keluaran PharStreamWrapper 2.1.1 dan 3.1.1. Projek Drupal membetulkan isu dalam kemas kini 7.67, 8.6.16 dan 8.7.1. Dalam Joomla masalah muncul sejak versi 3.9.3 dan telah dibetulkan dalam keluaran 3.9.6. Untuk menyelesaikan masalah dalam TYPO3, anda perlu mengemas kini pustaka PharStreamWapper.

Dari segi praktikal, kelemahan dalam PharStreamWapper membolehkan pengguna Drupal Core dengan keizinan 'Administer theme' untuk memuat naik fail phar yang berniat jahat dan menyebabkan kod PHP yang terkandung di dalamnya dilaksanakan di bawah samaran arkib phar yang sah. Ingat bahawa intipati serangan "penyahserialisasian Phar" ialah apabila menyemak fail bantuan yang dimuatkan bagi fungsi PHP file_exists(), fungsi ini secara automatik menyahsiri metadata daripada fail Phar (Arkib PHP) apabila memproses laluan bermula dengan "phar://" . Adalah mungkin untuk memindahkan fail phar sebagai imej, kerana fungsi file_exists() menentukan jenis MIME mengikut kandungan, dan bukan dengan sambungan.

Sumber: opennet.ru

Tambah komen