Die Schwachstelle PolyShell nutzt eine grundlegende Designschwäche in Magento’s REST-API aus. Das System akzeptiert Datei-Uploads als Teil der benutzerdefinierten Optionen für Warenkorb-Artikel. Wenn ein Produkt eine Datei-Option bietet, verarbeitet Magento ein eingebettetes Objekt mit Base64-codierten Daten, dem MIME-Type und einem Dateinamen. Die hochgeladene Datei wird im Verzeichnis pub/media/custom_options/quote/ auf dem Server gespeichert.
Je nach Konfiguration des Webservers können Angreifer diese Lücke auf zwei Wegen ausnutzen: Durch das Hochladen einer manipulierten PHP-Datei lässt sich direkter Code ausführen. Alternativ ermöglicht Stored XSS über die hochgeladenen Dateien eine Übernahme von Benutzerkonten. Das Besondere an diesem Angriff ist die Tarnung — Schadcode wird als legitime Bilddatei präsentiert und so leicht an Sicherheitskontrollen vorbeischmuggelt.
Sansec warnt ausdrücklich davor, dass ein einfaches Blockieren des /pub/media/custom_options/-Verzeichnisses nicht ausreichend ist. Uploads können weiterhin stattfinden und böswillig sein. Nur eine spezialisierte Web Application Firewall (WAF) bietet zuverlässigen Schutz. Besonders problematisch ist, dass viele Hosting-Provider individuelle Webserver-Konfigurationen verwenden, die nicht dem von Adobe empfohlenen Standard entsprechen.
Parallel zur Entdeckung dieser Schwachstelle dokumentierte Netcraft eine massive Angriffskampagne. Seit dem 27. Februar 2025 werden etwa 15.000 Magento-Shops defaced — über 7.500 Domains sind betroffen. Unter den kompromittierten Seiten befinden sich Infrastrukturen von globalen Konzernen wie Toyota, Yamaha, Lindt, Fiat und FedEx. Angreifer laden Klartext-Dateien in öffentlich zugängliche Verzeichnisse. Ob diese Attacken die PolyShell-Lücke ausnutzen oder auf andere Misconfigurations abzielen, ist derzeit unklar.
Für deutsche E-Commerce-Betreiber ist Eile geboten. Adobe stellte zwar einen Patch in Variante 2.4.9 bereit, doch dieser ist noch nicht im stabilen Release verfügbar. Betreiber sollten sofort ihre Magento-Version überprüfen und eine WAF implementieren. Zusätzlich sollten Datei-Upload-Funktionen in den Produktoptionen überprüft und ggf. deaktiviert werden, falls sie nicht essentiell sind.
