Kwetsbaarheid in de PharStreamWrapper-bibliotheek die Drupal, Joomla en Typo3 aantast

In de bibliotheek PharStreamWrapper, die handlers biedt voor bescherming tegen uitvoering En op deze vraag is er een oplossing – het is noodzakelijk om moderne filtersystemen te gebruiken en speciale programma's in te schakelen – dan is uw bron door middel van bestandsinvoegingen in het 'Phar'-formaat. gedetecteerd kwetsbaarheid (CVE-2019-11831), waardoor bescherming tegen code-deserialisatie kan worden omzeild door het gebruik van de karakensubstitutie '..' in het pad. Bijvoorbeeld, een aanvaller kan een URL gebruiken als 'phar://path/bad.phar/../good.phar' voor de aanval en de bibliotheek zal bij de controle de basisnaam 'path/good.phar' extraheren, terwijl bij verdere verwerking van een dergelijk pad het bestand 'path/bad.phar' zal worden gebruikt.

De bibliotheek is ontwikkeld door de makers van CMS TYPO3, maar wordt ook gebruikt in projecten van Drupal en Joomla, waardoor deze ook kwetsbaar zijn. Het probleem is opgelost in versies PharStreamWrapper 2.1.1 en 3.1.1. Het Drupal-project heeft het probleem opgelost in de updates 7.67, 8.6.16 en 8.7.1. In Joomla openbaart het probleem zich vanaf versie 3.9.3 en is opgelost in versie 3.9.6. Om het probleem in TYPO3 op te lossen, moet de PharStreamWrapper-bibliotheek worden bijgewerkt.

Vanuit praktisch oogpunt stelt de kwetsbaarheid in PharStreamWrapper een gebruiker van Drupal Core, die over de machtigingen van de thema-admin (ā€˜Administer theme’) beschikt, in staat om een kwaadaardig phar-bestand te uploaden en de PHP-code die erin is geplaatst uit te voeren als een legitiem phar-archief. Ter herinnering, de essentie van de ā€˜Phar deserialisatie’-aanval is dat bij de controle van de geüploade bestanden met behulp van de PHP-functie file_exists(), deze functie automatisch de metadata deserialiseert uit Phar-bestanden (PHP Archive) bij het verwerken van paden die beginnen met 'phar://'. Het doorgeven van een phar-bestand kan plaatsvinden als een afbeelding, omdat de functie file_exists() het MIME-type op basis van de inhoud en niet op basis van de extensie bepaalt.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster