Drupal, Joomla va Typo3 ga ta'sir qiluvchi PharStreamWrapper kutubxonasidagi zaiflik

Kutubxonada PharStreamWrapperdan himoya qilish uchun ishlov beruvchilarni ta'minlaydi ning hujumlar "Phar" formatida faylni almashtirish orqali, aniqlangan zaiflik (CVE-2019-11831), bu sizga yo'lda ".." belgilarini almashtirish orqali kodni seriyadan chiqarish himoyasini chetlab o'tish imkonini beradi. Masalan, tajovuzkor hujum uchun “phar:///path/bad.phar/../good.phar” kabi URL manzilidan foydalanishi mumkin va kutubxona “/path/good.phar” asosiy nomini ajratib ko‘rsatishi mumkin. tekshirish, garchi bunday yo'lni keyingi qayta ishlash jarayonida "/path/bad.phar" faylidan foydalaniladi.

Kutubxona CMS TYPO3 yaratuvchilari tomonidan ishlab chiqilgan, ammo Drupal va Joomla loyihalarida ham foydalaniladi, bu ularni zaifliklarga ham moyil qiladi. Muammo nashrlarda tuzatildi PharStreamWrapper 2.1.1 va 3.1.1. Drupal loyihasi muammoni 7.67, 8.6.16 va 8.7.1 yangilanishlarida tuzatdi. Joomla'da muammo 3.9.3 versiyasidan beri paydo bo'ldi va 3.9.6 versiyasida tuzatildi. TYPO3 da muammoni hal qilish uchun PharStreamWapper kutubxonasini yangilashingiz kerak.

Amaliy tomondan, PharStreamWapper’dagi zaiflik “Mavzuni boshqarish” ruxsatiga ega Drupal Core foydalanuvchisiga zararli phar faylni yuklash va undagi PHP kodini qonuniy phar arxivi niqobi ostida bajarishga imkon beradi. Eslatib o‘tamiz, “Phar deserialization” hujumining mohiyati shundan iboratki, PHP file_exists() funksiyasining yuklangan yordam fayllarini tekshirishda bu funksiya “phar://” bilan boshlanadigan yo‘llarni qayta ishlashda Phar fayllari (PHP Arxivi) metama’lumotlarini avtomatik ravishda seriyadan chiqaradi. . Phar faylni rasm sifatida o'tkazish mumkin, chunki file_exists() funktsiyasi MIME turini kengaytma bo'yicha emas, balki mazmuni bo'yicha aniqlaydi.

Manba: opennet.ru

a Izoh qo'shish