PharStreamWrapper kitabxanasında Drupal, Joomla və Typo3-ə təsir edən boşluq

Kitabxanada PharStreamWrapperqarşı qorunmaq üçün işləyiciləri təmin edən haqqında hücumlar "Phar" formatında fayl dəyişdirilməsi vasitəsilə, müəyyən edilmişdir zəiflik (CVE-2019-11831), bu, yolda “..” simvollarını əvəz etməklə kodun seriyadan çıxarılması mühafizəsini keçməyə imkan verir. Məsələn, təcavüzkar hücum üçün “phar:///path/bad.phar/../good.phar” kimi URL-dən istifadə edə bilər və kitabxana bu zaman “/path/good.phar” əsas adını vurğulayacaq. yoxlanılır, baxmayaraq ki, belə bir yolun sonrakı işlənməsi zamanı "/path/bad.phar" faylı istifadə olunacaq.

Kitabxana CMS TYPO3 yaradıcıları tərəfindən hazırlanıb, lakin Drupal və Joomla layihələrində də istifadə olunur ki, bu da onları zəifliklərə qarşı həssas edir. Problem buraxılışlarda düzəldildi PharStreamWrapper 2.1.1 və 3.1.1. Drupal layihəsi 7.67, 8.6.16 və 8.7.1 yeniləmələrində problemi həll etdi. Joomla-da problem 3.9.3 versiyasından bəri ortaya çıxır və 3.9.6 buraxılışında düzəldilir. TYPO3-də problemi həll etmək üçün PharStreamWapper kitabxanasını yeniləməlisiniz.

Praktiki tərəfdən, PharStreamWapper-dəki boşluq "Mövzunu idarə et" icazəsi olan Drupal Core istifadəçisinə zərərli phar faylı yükləməyə və onun içindəki PHP kodunun qanuni phar arxivi adı altında icrasına səbəb olmağa imkan verir. Xatırladaq ki, “Phar deserialization” hücumunun mahiyyəti ondan ibarətdir ki, PHP file_exists() funksiyasının yüklənmiş yardım fayllarını yoxlayarkən bu funksiya “phar://” ilə başlayan yolları emal edərkən Phar fayllarından (PHP Arxivi) metaməlumatları avtomatik olaraq sıradan çıxarır. . Phar faylını şəkil kimi köçürmək mümkündür, çünki file_exists() funksiyası MIME növünü genişləndirmə ilə deyil, məzmunla müəyyən edir.

Mənbə: opennet.ru

Добавить комментарий