In der Bibliothek , die Handler zum Schutz vor durch das EinfĂŒgen von Dateien im âPharâ-Format, (), die es erlaubt, den Schutz gegen die Deserialisierung von Code durch das EinfĂŒgen von â..â-Zeichen im Pfad zu umgehen. Beispielsweise kann ein Angreifer eine URL wie âphar:///path/bad.phar/../good.pharâ verwenden, und die Bibliothek wird bei der ĂberprĂŒfung den Basisnamen â/path/good.pharâ extrahieren, wĂ€hrend bei der weiteren Verarbeitung eines solchen Pfades die Datei â/path/bad.pharâ verwendet wird.
Die Bibliothek wurde von den Entwicklern des CMS TYPO3 erstellt, wird aber auch in den Projekten Drupal und Joomla verwendet, was sie ebenfalls anfĂ€llig fĂŒr diese SicherheitsanfĂ€lligkeit macht. Das Problem wurde in den Versionen . Das Projekt Drupal hat das Problem in den Updates 7.67, 8.6.16 und 8.7.1 behoben. In Joomla tritt das Problem seit Version 3.9.3 auf und wurde in Version 3.9.6 behoben. Um das Problem in TYPO3 zu beheben, muss die PharStreamWrapper-Bibliothek aktualisiert werden.
Praktisch erlaubt die SicherheitsanfĂ€lligkeit in PharStreamWrapper einem Drupal Core-Benutzer mit Administratorrechten fĂŒr das Design (âAdminister themeâ), eine schadhafte phar-Datei hochzuladen und die AusfĂŒhrung des darin befindlichen PHP-Codes im Gewand eines legitimen phar-Archivs zu erreichen. Es sei daran erinnert, dass der Kernangriff der âPhar-Desserialisierungâ darin besteht, dass bei der ĂberprĂŒfung hochgeladener Dateien durch die PHP-Funktion file_exists() diese Funktion automatisch die Metadaten aus Phar-Dateien (PHP Archive) deserialisiert, wenn sie Pfade verarbeiten, die mit âphar:///â beginnen. Der Upload einer phar-Datei ist als Bild möglich, da die Funktion file_exists() den MIME-Typ basierend auf dem Inhalt und nicht auf der Erweiterung bestimmt.
Quelle: opennet.ru
