In der offenen Plattform zur Organisation des E-Commerce , die etwa des Marktes für die Erstellung von Online-Shops einnimmt, Schwachstellen, deren Kombination es ermöglicht, einen Angriff zum Ausführen von eigenem Code auf dem Server zu starten, vollständige Kontrolle über den Online-Shop zu erlangen und Zahlungen umzuleiten. Die Schwachstellen in den Versionen Magento 2.3.2, 2.2.9 und 2.1.18, in denen insgesamt 75 sicherheitsrelevante Probleme behoben wurden.
Eines der Probleme ermöglicht es einem nicht authentifizierten Benutzer, JavaScript-Code (XSS) einzuschleusen, der beim Anzeigen des Protokolls abgebrochener Käufe in der Administratorschnittstelle ausgeführt werden kann. Der Kern der Schwachstelle besteht darin, eine Bereinigung des Textes mithilfe der Funktion escapeHtmlWithLinks() beim Verarbeiten von Notizen im Widerrufsformular auf dem Bildschirm für den Kaufabschluss zu umgehen (durch die Verwendung eines 'a href=http://onmouseover=…'-Tags innerhalb eines anderen Tags). Das Problem tritt bei der Verwendung des integrierten Moduls Authorize.Net auf, das die Annahme von Kreditkartenzahlungen ermöglicht.
Für den vollständigen Zugriff über JavaScript-Code im Kontext der aktuellen Sitzung des Mitarbeiters wird eine zweite Schwachstelle ausgenutzt, die das Hochladen einer Phar-Datei als Bild ermöglicht ( „Phar Deserialisierung“). Die Phar-Datei kann über ein Formular zum Einfügen von Bildern im integrierten WYSIWYG-Editor hochgeladen werden. Nachdem der Angreifer seinen PHP-Code ausgeführt hat, kann er vervolgens die Zahlungsdetails ändern oder Informationen über die Kreditkarten der Käufer abfangen.
Interessanterweise wurden die Informationen über das XSS-Problem bereits im September 2018 an die Entwickler von Magento weitergeleitet, woraufhin Ende November ein Patch veröffentlicht wurde, der, wie sich herausstellte, lediglich einen Teilfall behebt und leicht umgangen werden kann. Im Januar wurde zusätzlich über die Möglichkeit berichtet, Phar-Dateien als Bilder hochzuladen, und es wurde demonstriert, wie die Kombination zweier Schwachstellen zur Kompromittierung von Onlineshops verwendet werden kann. Ende März wurde in Magento 2.3.1,
2.2.8 und 2.1.17 das Problem mit Phar-Dateien behoben, aber die XSS-Fehlerbehebung wurde vergessen, obwohl das Ticket zu diesem Problem geschlossen wurde. Im April wurde die Untersuchung des XSS wieder aufgenommen und das Problem wurde in den Versionen 2.3.2, 2.2.9 und 2.1.18 behoben.
Es ist wichtig zu erwähnen, dass in den angegebenen Versionen 75 Schwachstellen behoben wurden, von denen 16 als kritisch eingestuft sind. 20 dieser Probleme könnten zur Ausführung von PHP-Code oder zur Durchführung von SQL-Injection-Angriffen führen. Die meisten kritischen Probleme können nur von authentifizierten Benutzern ausgenutzt werden. Doch wie oben gezeigt, ist es nicht schwierig, authentifizierte Aktionen durch XSS-Schwachstellen zu erlangen, von denen in den betroffenen Versionen mehrere Dutzend behoben wurden.
Quelle: opennet.ru
