Ranjivost u biblioteci PharStreamWrapper koja utiče na Drupal, Joomla i Typo3

U biblioteci PharStreamWrapper, koji pruža rukovaoce za zaštitu od od napada kroz zamjenu datoteka u formatu "Phar", identifikovan ranjivost (CVE-2019-11831), koji vam omogućava da zaobiđete zaštitu deserijalizacije koda zamjenom znakova “..” u putanji. Na primjer, napadač može koristiti URL kao što je "phar:///path/bad.phar/../good.phar" za napad, a biblioteka će istaknuti ime baze "/path/good.phar" kada provera, iako će se tokom dalje obrade takve putanje koristiti datoteka "/path/bad.phar".

Biblioteku su razvili kreatori CMS TYPO3, ali se takođe koristi u Drupal i Joomla projektima, što ih čini podložnim ranjivostima. Problem riješen u izdanjima PharStreamWrapper 2.1.1 i 3.1.1. Drupal projekat je popravio problem u ažuriranjima 7.67, 8.6.16 i 8.7.1. U Joomli problem se pojavljuje od verzije 3.9.3 i popravljen je u izdanju 3.9.6. Da biste riješili problem u TYPO3, trebate ažurirati biblioteku PharStreamWapper.

S praktične strane, ranjivost u PharStreamWapper-u omogućava Drupal Core korisniku sa dozvolama za 'Administriranje teme' da učita zlonamjerni phar fajl i izazove izvršavanje PHP koda koji se u njemu nalazi pod maskom legitimne phar arhive. Podsjetimo da je suština napada “Phar deserialization” u tome da prilikom provjere učitanih datoteka pomoći PHP funkcije file_exists(), ova funkcija automatski deserializira metapodatke iz Phar datoteka (PHP arhiva) kada obrađuje putanje koje počinju s “phar://” . Phar datoteku je moguće prenijeti kao sliku, jer funkcija file_exists() određuje MIME tip po sadržaju, a ne po ekstenziji.

izvor: opennet.ru

Dodajte komentar