Drupal, Joomla және Typo3 әсер ететін PharStreamWrapper кітапханасындағы осалдық

Кітапханада PharStreamWrapper, ол өңдеушілерді қорғауды қамтамасыз етеді туралы шабуылдар «Phar» пішімінде файлды ауыстыру арқылы, анықталды осалдық (CVE-2019-11831), бұл жолда «..» таңбаларын ауыстыру арқылы кодты сериядан шығарудан қорғауды айналып өтуге мүмкіндік береді. Мысалы, шабуылдаушы шабуыл үшін «phar:///path/bad.phar/../good.phar» сияқты URL мекенжайын пайдалана алады және кітапхана «/path/good.phar» негізгі атауын бөлектейді. тексеру, бірақ мұндай жолды әрі қарай өңдеу кезінде «/path/bad.phar» файлы пайдаланылады.

Кітапхананы CMS TYPO3 жасаушылар әзірлеген, бірақ ол Drupal және Joomla жобаларында да қолданылады, бұл оларды осалдықтарға бейім етеді. Мәселе шығарылымдарда түзетілді PharStreamWrapper 2.1.1 және 3.1.1. Drupal жобасы мәселені 7.67, 8.6.16 және 8.7.1 жаңартуларында түзетті. Joomla-да мәселе 3.9.3 нұсқасынан бастап пайда болады және 3.9.6 шығарылымында түзетілді. TYPO3 ішіндегі мәселені шешу үшін PharStreamWapper кітапханасын жаңарту қажет.

Практикалық жағынан, PharStreamWapper жүйесіндегі осалдық «Тақырыпты басқару» рұқсаттары бар Drupal Core пайдаланушысына зиянды phar файлын жүктеп салуға және ондағы PHP кодын заңды phar мұрағаты деген атпен орындауға мүмкіндік береді. Еске салайық, «Phar сериясыздандыру» шабуылының мәні PHP file_exists() функциясының жүктелген анықтамалық файлдарын тексеру кезінде бұл функция «phar://» әрпінен басталатын жолдарды өңдеу кезінде Phar файлдарынан (PHP Archive) метадеректерді автоматты түрде сериядан шығарады. . phar файлын кескін ретінде тасымалдауға болады, себебі file_exists() функциясы MIME түрін кеңейтім бойынша емес, мазмұны бойынша анықтайды.

Ақпарат көзі: opennet.ru

пікір қалдыру