In de bibliotheek , het bieden van handlers om te beschermen tegen via vervanging van bestanden in het "Phar"-formaat, (), waarmee de beveiliging tegen deserialisatie van de code omzeild kan worden door de tekens ".." in het pad te vervangen. Een aanvaller kan bijvoorbeeld een URL in de vorm 'phar:///pad/slecht.phar/../goed.phar' gebruiken voor een aanval. De bibliotheek selecteert dan de basisnaam '/pad/goed.phar' tijdens de controle, maar tijdens de verdere verwerking van zo'n pad wordt het bestand '/pad/slecht.phar' gebruikt.
De bibliotheek is ontwikkeld door de makers van het CMS TYPO3, maar wordt ook gebruikt in andere projecten. Drupal ΠΈ Joomlawaardoor ze ook kwetsbaar zijn. Het probleem is verholpen in de releases. Project Drupal Het probleem is opgelost in updates 7.67, 8.6.16 en 8.7.1. Joomla Het probleem bestaat al sinds versie 3.9.3 en is verholpen in versie 3.9.6. Om het probleem in TYPO3 op te lossen, moet u de PharStreamWapper-bibliotheek bijwerken.
Vanuit praktisch oogpunt biedt de kwetsbaarheid in PharStreamWapper de gebruiker de mogelijkheid om... Drupal Core, met de rechten 'Thema beheren', uploadt een kwaadaardig phar-bestand en voert de daarin opgenomen PHP-code uit, vermomd als een legitiem phar-archief. Ter herinnering: de "Phar-deserialisatie"-aanval werkt door automatisch metadata uit Phar-bestanden (PHP Archive) te deserialiseren bij het controleren van geΓΌploade helpbestanden op de PHP-functie `file_exists()` bij het verwerken van paden die beginnen met "phar://". Het is mogelijk om een ββphar-bestand als image over te dragen, omdat `file_exists()` het MIME-type bepaalt op basis van de inhoud van het bestand, niet op basis van de extensie.
Bron: opennet.ru
