Sansec verortet das Sicherheitsproblem in der REST-API von Magento, die Datei-Uploads als Teil der benutzerdefinierten Optionen für einen Warenkorb-Artikel akzeptiert.
“Wenn eine Produktoption den Typ ‘file’ hat, verarbeitet Magento ein eingebettetes file_info-Objekt, das base64-codierte Dateidaten, einen MIME-Typ und einen Dateinamen enthält. Die Datei wird auf dem Server in pub/media/custom_options/quote/ geschrieben”, erläutern die Forscher.
Den Namen PolyShell führt Sansec auf die Verwendung einer Polyglot-Datei zurück, die sich zugleich als Bild und als Skript verhalten kann. Je nach Webserver-Konfiguration ermöglicht die Lücke entweder die Remote-Codeausführung (RCE) oder eine Kontoübernahme über gespeichertes Cross-Site-Scripting (Stored XSS). Betroffen ist damit der Großteil der von Sansec untersuchten Shops.
Nach eigenen Angaben hat Sansec alle bekannten Magento- und Adobe-Commerce-Shops geprüft und festgestellt, dass viele von ihnen Dateien im Upload-Verzeichnis exponieren.
Adobe hat einen Fix bereitgestellt, der allerdings nur in der zweiten Alpha-Version für 2.4.9 enthalten ist; produktive Versionen bleiben dadurch angreifbar. Die von Adobe angebotene Beispielkonfiguration für Webserver würde laut Sansec die Folgen weitgehend begrenzen, greift aber bei vielen Shops nicht, da diese auf das Setup ihres Hosting-Anbieters angewiesen sind. Bis Adobe den Patch auch für die Produktivversionen veröffentlicht, sollten Shop-Betreiber selbst Schutzmaßnahmen ergreifen.
BleepingComputer hat bei Adobe angefragt, wann ein Sicherheitsupdate für PolyShell verfügbar sein wird, bis zur Veröffentlichung jedoch keine Antwort erhalten.
