Sicherheitslücke im WordPress-Astra-Theme betrifft mehr als eine Million Websites

Eines der beliebtesten WordPress-Themes der Welt hat am Wochenende still und leise eine Sicherheitslücke behoben, von der Sicherheitsforscher sagen, dass sie offenbar eine gespeicherte XSS-Schwachstelle geschlossen hat.

Das offizielle Astra-Changelog bot diese Erklärung der Sicherheitsveröffentlichung:

„Erhöhte Sicherheit: Unsere Codebasis wurde verstärkt, um Ihre Website noch besser zu schützen.“

Ihr Changelog, das Änderungen am Code dokumentiert, der in jedem Update enthalten ist, bietet keine Informationen darüber, um welche Schwachstelle es sich handelte oder wie schwerwiegend sie war. Theme-Benutzer können daher keine fundierte Entscheidung darüber treffen, ob sie ihr Theme so schnell wie möglich aktualisieren oder vor der Aktualisierung zunächst Tests durchführen, um sicherzustellen, dass das aktualisierte Theme mit anderen verwendeten Plugins kompatibel ist.

SEJ wandte sich an das Sicherheitsunternehmen Patchstack WordPress, das bestätigte, dass Astra möglicherweise eine Cross-Site-Scripting-Schwachstelle gepatcht hat.

Brainstorm Force Astra WordPress-Theme

Astra ist eines der weltweit beliebtesten WordPress-Themes. Es handelt sich um ein kostenloses Theme, das relativ leichtgewichtig und benutzerfreundlich ist und zu professionell aussehenden Websites führt. Es sind sogar strukturierte Daten von Schema.org integriert.

Sicherheitslücke bezüglich Cross-Site-Scripting (XSS)

Eine Cross-Site-Scripting-Schwachstelle ist eine der häufigsten Arten von Schwachstellen in WordPress, die im Allgemeinen in Plugins und Themes von Drittanbietern auftritt. Dabei handelt es sich um eine Schwachstelle, die auftritt, wenn zwar eine Möglichkeit zur Eingabe von Daten besteht, das Plugin oder Theme jedoch nicht ausreichend filtert, was ein- oder ausgegeben wird, was es einem Angreifer anschließend ermöglichen kann, eine bösartige Nutzlast hochzuladen.

Diese besondere Sicherheitslücke wird als gespeichertes XSS bezeichnet. Ein gespeichertes XSS wird so genannt, weil dabei die Nutzdaten direkt auf den Website-Server hochgeladen und gespeichert werden.

Die gemeinnützige Website des Open Worldwide Application Security Project (OWASP) bietet die folgende Beschreibung einer gespeicherten XSS-Schwachstelle:

„Gespeicherte Angriffe sind solche, bei denen das eingeschleuste Skript dauerhaft auf den Zielservern gespeichert wird, z. B. in einer Datenbank, in einem Nachrichtenforum, einem Besucherprotokoll, einem Kommentarfeld usw. Das Opfer ruft dann das bösartige Skript vom Server ab, wenn es das anfordert.“ gespeicherte Informationen. Gespeichertes XSS wird manchmal auch als persistentes oder Typ-II-XSS bezeichnet.“

Patchstack-Überprüfung des Plugins

SEJ kontaktierte Patchstack, das die geänderten Dateien umgehend überprüfte und ein mögliches Theme-Sicherheitsproblem in drei WordPress-Funktionen identifizierte. WordPress-Funktionen sind Code, der das Verhalten von WordPress-Funktionen ändern kann, beispielsweise die Länge eines Auszugs. Funktionen können Anpassungen hinzufügen und neue Funktionen zu einem Thema hinzufügen.

Patchstack erklärte ihre Ergebnisse:

„Ich habe Version 4.6.9 und 4.6.8 (kostenlose Version) aus dem WordPress.org-Repository heruntergeladen und die Unterschiede überprüft.

Es scheint, dass an mehreren Funktionen eine Änderung vorgenommen wurde, um den Rückgabewert der WordPress-Funktion get_the_author zu maskieren.

Diese Funktion gibt die Eigenschaft „display_name“ eines Benutzers aus, die bösartige Inhalte enthalten und zu einer Cross-Site-Scripting-Schwachstelle führen kann, wenn sie direkt ohne Verwendung einer Ausgabe-Escape-Funktion gedruckt wird.

Bei den folgenden Funktionen wurde diese Änderung vorgenommen:

astra_archive_page_info
astra_post_author_name
astra_post_author

Wenn beispielsweise ein Mitwirkender einen Beitrag geschrieben hat und dieser Mitwirkende seinen Anzeigenamen so ändert, dass er eine böswillige Nutzlast enthält, wird diese bösartige Nutzlast ausgeführt, wenn ein Besucher diese Seite mit seinem böswilligen Anzeigenamen besucht.“

Nicht vertrauenswürdige Daten im Zusammenhang mit XSS-Schwachstellen in WordPress können auftreten, wenn ein Benutzer Daten eingeben kann.

Diese Prozesse werden Sanitization, Validation und Escaping genannt, drei Möglichkeiten zur Sicherung einer WordPress-Website.

Man kann sagen, dass die Bereinigung ein Prozess ist, der Eingabedaten filtert. Bei der Validierung wird die Eingabe überprüft, um festzustellen, ob sie genau das ist, was erwartet wird, z. B. Text statt Code. Durch das Escapen der Ausgabe wird sichergestellt, dass alle ausgegebenen Daten, beispielsweise Benutzereingaben oder Datenbankinhalte, sicher im Browser angezeigt werden können.

Das WordPress-Sicherheitsunternehmen Patchstack hat Änderungen an Funktionen identifiziert, die Daten entgehen, was wiederum Hinweise darauf gibt, um welche Schwachstelle es sich handelt und wie sie behoben wurde.

Patchstack-Sicherheitshinweis

Es ist nicht bekannt, ob ein externer Sicherheitsforscher die Schwachstelle entdeckt hat oder ob Brainstorm, die Macher des Astra-Themes, sie selbst entdeckt und gepatcht haben.

Das offizielle Patchstack-Advisory bot folgende Informationen:

„Eine unbekannte Person hat diese Cross Site Scripting (XSS)-Schwachstelle im WordPress Astra Theme entdeckt und gemeldet. Dies könnte es einem böswilligen Akteur ermöglichen, bösartige Skripte wie Weiterleitungen, Werbung und andere HTML-Payloads in Ihre Website einzuschleusen, die ausgeführt werden, wenn Gäste Ihre Website besuchen. Diese Schwachstelle wurde in Version 4.6.9 behoben.“

Patchstack bewertete die Schwachstelle als mittlere Bedrohung und vergab ihr auf einer Skala von 1 – 10 einen Wert von 6,5.

Wordfence-Sicherheitshinweis

Auch Wordfence hat gerade einen Sicherheitshinweis veröffentlicht. Sie analysierten die Astra-Dateien und kamen zu dem Schluss:

„Das Astra-Theme für WordPress ist in allen Versionen bis einschließlich 4.6.8 anfällig für gespeichertes Cross-Site-Scripting über den Anzeigenamen eines Benutzers, da die Eingabebereinigung und Ausgabe-Escape-Funktion unzureichend sind. Dies ermöglicht es authentifizierten Angreifern mit Zugriff auf Mitwirkender-Ebene und höher, beliebige Webskripte in Seiten einzuschleusen, die immer dann ausgeführt werden, wenn ein Benutzer auf eine eingeschleuste Seite zugreift.“

Benutzern des Themes wird im Allgemeinen empfohlen, ihre Installation zu aktualisieren. Es ist jedoch auch ratsam, zu testen, ob das aktualisierte Theme keine Fehler verursacht, bevor Sie es auf eine Live-Website übertragen.

Ausgewähltes Bild von Shutterstock/GB_Art

source site

Leave a Reply