Sicherheitslücke, die die Ersetzung von JavaScript-Code durch das OptinMonster WordPress-Plugin ermöglicht

Im WordPress-Add-on OptinMonster, das mehr als eine Million aktive Installationen aufweist und zur Organisation der Anzeige von Popup-Benachrichtigungen und Angeboten dient, wurde eine Schwachstelle (CVE-2021-39341) identifiziert. Die Sicherheitslücke wurde in Version 2.6.5 behoben. Um den Zugriff über erfasste Schlüssel nach der Installation des Updates zu blockieren, haben die OptinMonster-Entwickler alle zuvor erstellten API-Zugriffsschlüssel gelöscht und Einschränkungen für die Verwendung von WordPress-Site-Schlüsseln zur Änderung von OptinMonster-Kampagnen hinzugefügt.

Das Problem wird durch das Vorhandensein der REST-API /wp-json/omapp/v1/support verursacht, auf die ohne Authentifizierung zugegriffen werden konnte – die Anfrage wurde ohne zusätzliche Prüfungen ausgeführt, wenn der Referer-Header die Zeichenfolge „https://wp“ enthielt. app.optinmonster.test“ und beim Festlegen des HTTP-Anfragetyps auf „OPTIONS“ (überschrieben mit dem HTTP-Header „X-HTTP-Method-Override“). Unter den beim Zugriff auf die betreffende REST-API zurückgegebenen Daten befand sich ein Zugriffsschlüssel, der es Ihnen ermöglicht, Anfragen an beliebige REST-API-Handler zu senden.

Mit dem erhaltenen Schlüssel konnte der Angreifer Änderungen an allen mit OptinMonster angezeigten Popup-Blöcken vornehmen und die Ausführung seines JavaScript-Codes organisieren. Nachdem der Angreifer seinen JavaScript-Code im Kontext der Site ausführen konnte, konnte er Benutzer auf ihre Site umleiten oder die Ersetzung eines privilegierten Kontos in der Weboberfläche organisieren, wenn der Site-Administrator den ersetzten JavaScript-Code ausführte. Durch den Zugriff auf das Webinterface könnte der Angreifer seinen PHP-Code auf dem Server ausführen lassen.

Source: opennet.ru

Kommentar hinzufügen