
Detektorskript für CVE-2017-9841
CVE-2017-9841-Detektor-Skript von Massimiliano Brasile
WAS IST PASSIERT
Am 6. Januar 2020 wurde ich auf ein Sicherheitsproblem hingewiesen, das offenbar die meisten Versionen von PrestaShop betrifft (die Warnung wurde vom PS-Team nur intern am 3. Januar 2020 geteilt). Nach einigen Nachforschungen habe ich festgestellt, dass das Problem mit einer Testframework-Bibliothek namens PHPUnit [1] zusammenhängt, die versehentlich in einigen Produktionsmodulen enthalten ist, die in Prestashop 1.7 verwendet werden (entweder über die Prestashop-API oder mit PrestaShop-Installationen verteilt). Das Problem für PHPUnit wurde als CVE-2017-9841 [2] [3] gekennzeichnet, aber die Warnung für Prestashop ist derzeit aktiv, da es mindestens einen Bot ( XsamXadoo ) gibt, der PS-Websites genau auf dieses Problem scannt [4].
WIE ES FUNKTIONIERT
Technisch gesehen bezieht sich CVE-2017-9841 auf die Möglichkeit, Remote-Code auf jeder Anwendung auszuführen, die eine fehlerhafte Version von phpunit/phpunit verwendet, und am 8. Januar 2020 wurde ein weiteres Problem entdeckt ( vor 4.8.28 und 5.x vor 5.6.3 bezogen auf Versionen vor 7.5.19 für 7.x und 8.5.1 für 8.x [5] ). Da phpunit ein bekanntes Framework ist, scheint das Problem Auswirkungen auf die wichtigsten PHP-CMS (Prestashop, Wordpress, Drupal, ..) und deren Plugins zu haben, jedoch nur, wenn diese es verwenden. Um diese Backdoors zu finden, ist es zwingend erforderlich, auf jede Einbindung dieses Testframeworks in jedem Unterverzeichnis Ihres Web-Roots zu prüfen. Um das Ganze zu beschleunigen, habe ich dieses kleine Quick&Dirty-Skript geschrieben, das mir hilft, alle Instanzen von Prestashop oder Wordpress zu kontrollieren, für die ich verantwortlich bin.
WO MAN PRÜFEN SOLLTE
Laut PS-Forum [4] müssen diese Module überprüft werden:
Aber in meinen Tests habe ich es auch im Modul ps_facetedsearch v3.2.1 gefunden. Es war in autoupgrade v4.9+ nicht vorhanden.
WIE MAN DAS SKRIPT VERWENDET
WIE MAN ES BEHEBT
Im Falle eines Vorkommnisses einer fehlerhaften Version von phpunit-Instanzen aktualisieren Sie, wenn möglich, das übergeordnete Modul oder entfernen Sie (löschen Sie den Ordner) sie, wenn sie keinen Support vom Entwickler erhalten. Laut PS-Forum sollten Sie alle vendor-Ordner in diesen Modulen vollständig entfernen, aber das muss überprüft werden!
REFERENZEN
[2] https://nvd.nist.gov/vuln/detail/CVE-2017-9841
[3] https://www.cvedetails.com/cve/CVE-2017-9841
[4] https://www.prestashop.com/forums/topic/1012095-hack-prestashop-avec-xsamxadoo-bot
[5] NOT official yet!! see https://github.com/PrestaShop/PrestaShop/issues/17059#issuecomment-572114133