Kritische Schwachstelle in WooCommerce am 13. Juli 2021 entdeckt – Was Sie wissen müssen

Veröffentlicht: 2021-07-15

Letzte Aktualisierung: 23. Juli 2021

Am 13. Juli 2021 wurde eine kritische Schwachstelle in Bezug auf WooCommerce und das WooCommerce Blocks Feature Plugin identifiziert und vom Sicherheitsforscher Josh über unser Sicherheitsprogramm HackerOne verantwortungsbewusst offengelegt.

Als unser Team von dem Problem erfuhr, führte es sofort eine gründliche Untersuchung durch, prüfte alle zugehörigen Codebasen und erstellte einen Patch, um das Problem für jede betroffene Version (über 90 Versionen) zu beheben, der automatisch in anfälligen Stores bereitgestellt wurde.

Ich habe einen WooCommerce-Shop – was soll ich tun?

Automatische Software-Updates für WooCommerce 5.5.1 wurden am 14. Juli 2021 in allen Shops eingeführt, in denen betroffene Versionen jedes Plugins ausgeführt werden. Wir empfehlen Ihnen jedoch nachdrücklich, sicherzustellen, dass Sie die neueste Version verwenden. Für WooCommerce ist dies 5.5.2 * oder die höchstmögliche Nummer in Ihrem Release-Zweig. Wenn Sie auch WooCommerce Blocks ausführen, sollten Sie Version 5.5.1 dieses Plugins verwenden.

Wichtig : Mit der Veröffentlichung von WooCommerce 5.5.2 am 23. Juli 2021 wurde der oben erwähnte Auto-Update-Prozess eingestellt.

Nach dem Update auf eine gepatchte Version empfehlen wir außerdem:

  • Aktualisieren der Passwörter für alle Admin-Benutzer auf Ihrer Website, insbesondere wenn sie dieselben Passwörter auf mehreren Websites wiederverwenden
  • Rotieren aller auf Ihrer Website verwendeten Payment Gateway- und WooCommerce-API-Schlüssel.

Weitere Informationen zu diesen Schritten finden Sie weiter unten.

* WooCommerce 5.5.2 wurde am 23. Juli 2021 veröffentlicht. Die in dieser Version enthaltenen Korrekturen stehen in keinem Zusammenhang mit der jüngsten Sicherheitslücke.

Woher weiß ich, ob meine Version aktuell ist?

Die folgende Tabelle enthält die vollständige Liste der gepatchten Versionen für WooCommerce und WooCommerce Blocks. Wenn Sie eine Version von WooCommerce oder WooCommerce Blocks ausführen, die nicht auf dieser Liste steht, aktualisieren Sie bitte sofort auf die höchste Version in Ihrem Release-Zweig.

Gepatchte WooCommerce-Versionen Gepatchte Versionen von WooCommerce Blocks
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

Warum wurde meine Website nicht automatisch aktualisiert?

Ihre Website wurde möglicherweise aus einer Reihe von Gründen nicht automatisch aktualisiert, einige der wahrscheinlichsten sind: Sie verwenden eine Version vor einer betroffenen (unter WooCommerce 3.3), automatische Updates wurden auf Ihrer Website explizit deaktiviert, Ihr Dateisystem ist schreibgeschützt, oder es gibt potenziell widersprüchliche Erweiterungen, die die Aktualisierung verhindern.

In allen Fällen (mit Ausnahme des ersten Beispiels, wo Sie nicht betroffen sind) sollten Sie versuchen, manuell auf die neueste gepatchte Version auf Ihrem Release-Zweig (z. B. 5.5.2, 5.4.2, 5.3.1 usw.) zu aktualisieren, wie in aufgeführt die Tabelle oben.

Wurden Daten kompromittiert?

Basierend auf den derzeit verfügbaren Beweisen glauben wir, dass jeder Exploit begrenzt war.

Wenn ein Geschäft betroffen war, beziehen sich die offengelegten Informationen auf das, was diese Website speichert, können aber auch Bestell-, Kunden- und Verwaltungsinformationen enthalten.

Wie kann ich überprüfen, ob mein Shop ausgenutzt wurde?

Aufgrund der Art dieser Schwachstelle und der äußerst flexiblen Art und Weise, wie WordPress (und damit WooCommerce) die Bearbeitung von Webanfragen ermöglicht, gibt es keine definitive Möglichkeit, einen Exploit zu bestätigen. Möglicherweise können Sie einige Exploit-Versuche erkennen, indem Sie die Zugriffsprotokolle Ihres Webservers überprüfen (oder sich dabei von Ihrem Webhost helfen lassen). Anfragen in den folgenden Formaten, die zwischen Dezember 2019 und jetzt aufgetreten sind, weisen wahrscheinlich auf einen Exploit-Versuch hin:

  • REQUEST_URI passender regulärer Ausdruck /\/wp-json\/wc\/store\/products\/collection-data.*%25252.*/
  • REQUEST_URI übereinstimmender regulärer Ausdruck /.*\/wc\/store\/products\/collection-data.*%25252.*/ (beachten Sie, dass dieser Ausdruck in den meisten Protokollierungsumgebungen nicht effizient/langsam ausgeführt wird)
  • Jede Nicht-GET-Anforderung (POST oder PUT) an /wp-json/wc/store/products/collection-data oder /?rest_route=/wc/store/products/collection-data

Anfragen, bei denen wir festgestellt haben, dass diese Schwachstelle ausgenutzt wird, kommen von den folgenden IP-Adressen, wobei über 98 % von der ersten in der Liste kommen. Wenn Sie eine dieser IP-Adressen in Ihren Zugriffsprotokollen sehen, sollten Sie davon ausgehen, dass die Schwachstelle ausgenutzt wurde:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Welche Passwörter muss ich ändern?

Es ist unwahrscheinlich, dass Ihr Passwort kompromittiert wurde, da es gehasht ist.

WordPress-Benutzerpasswörter werden mit Salzen gehasht, was bedeutet, dass der resultierende Hash-Wert sehr schwer zu knacken ist. Dieser Salted-Hash-Ansatz schützt Ihr Passwort als Admin-Benutzer und auch die Passwörter aller anderen Benutzer auf Ihrer Website, einschließlich Kunden. Es ist zwar möglich, dass über diese Schwachstelle auf die in Ihrer Datenbank gespeicherte Hash-Version Ihres Passworts zugegriffen wurde, der Hash-Wert sollte jedoch nicht erkennbar sein und Ihre Passwörter dennoch vor unbefugter Verwendung schützen.

Dies setzt voraus, dass Ihre Website die standardmäßige WordPress-Passwortverwaltung für Benutzer verwendet. Abhängig von den Plugins, die Sie auf Ihrer Website installiert haben, werden Passwörter oder andere vertrauliche Informationen möglicherweise auf weniger sichere Weise gespeichert.

Wenn einer der Administratorbenutzer auf Ihrer Website möglicherweise dieselben Passwörter auf mehreren Websites wiederverwendet hat, empfehlen wir Ihnen, diese Passwörter zu aktualisieren, falls ihre Anmeldeinformationen an anderer Stelle kompromittiert wurden.

Wir empfehlen auch, alle privaten oder geheimen Daten zu ändern, die in Ihrer WordPress/WooCommerce-Datenbank gespeichert sind. Dies kann API-Schlüssel, öffentliche/private Schlüssel für Zahlungs-Gateways und mehr umfassen, abhängig von Ihrer jeweiligen Shop-Konfiguration.

Sollten wir als Erweiterungsentwickler oder Dienstanbieter unsere WooCommerce-Händler benachrichtigen?

Wenn Sie mit einem aktiven WooCommerce-Shop oder -Händler zusammenarbeiten, empfehlen wir Ihnen, mit ihnen zusammenzuarbeiten, um sicherzustellen, dass sie über dieses Problem Bescheid wissen, und/oder ihren Shop auf eine sichere Version zu aktualisieren.

Wenn Sie eine Erweiterung erstellt haben oder einen SaaS-Dienst anbieten, der auf der WooCommerce-API basiert, empfehlen wir Ihnen, den Händlern dabei zu helfen, die Schlüssel zurückzusetzen, um sich mit Ihrem Dienst zu verbinden.

Sollte ich als Ladenbesitzer meine Kunden warnen?

Ob Sie Ihre Kunden alarmieren, liegt letztlich bei Ihnen. Ihre Verpflichtungen, Kunden zu benachrichtigen oder Dinge wie Passwörter zurückzusetzen, hängen von Details wie Ihrer Site-Infrastruktur ab, wo Sie und Ihre Kunden sich geografisch befinden, welche Daten Ihre Site sammelt und ob Ihre Site kompromittiert wurde oder nicht.

Die wichtigste Maßnahme, die Sie ergreifen können, um Ihre Kunden zu schützen, besteht darin, Ihre Version von WooCommerce auf eine Version zu aktualisieren, die mit einem Fix für diese Schwachstelle gepatcht wurde.

Nach dem Update empfehlen wir:

  • Aktualisieren der Passwörter für alle Administratorbenutzer auf Ihrer Website, insbesondere wenn Sie dieselben Passwörter auf mehreren Websites wiederverwenden
  • Rotieren aller auf Ihrer Website verwendeten Payment Gateway- und WooCommerce-API-Schlüssel.

Als Shop-Inhaber ist es letztlich Ihre Entscheidung, ob Sie zusätzliche Vorkehrungen treffen möchten, wie z. B. das Zurücksetzen der Passwörter Ihrer Kunden. Die Benutzerpasswörter von WordPress (und damit auch von WooCommerce) werden mithilfe von Salts gehasht, was bedeutet, dass der resultierende Hashwert sehr schwer zu knacken ist. Dieser Salted-Hash-Ansatz wird auf alle Benutzerpasswörter auf Ihrer Website angewendet, einschließlich der Passwörter Ihrer Kunden.

Ist WooCommerce noch sicher zu verwenden?

Jawohl.

Vorfälle wie dieser sind selten, passieren aber leider manchmal. Unsere Absicht ist es, immer sofort zu reagieren und mit vollständiger Transparenz zu agieren.

Seit das Team von der Schwachstelle erfahren hat, hat es rund um die Uhr daran gearbeitet, sicherzustellen, dass ein Fix installiert und unsere Benutzer informiert wurden.

Unsere kontinuierliche Investition in die Plattformsicherheit ermöglicht es uns, die überwiegende Mehrheit der Probleme zu verhindern – aber in den seltenen Fällen, die sich möglicherweise auf Geschäfte auswirken könnten, bemühen wir uns, schnell zu beheben, proaktiv zu kommunizieren und mit der WooCommerce-Community zusammenzuarbeiten.

Was ist, wenn ich noch Fragen habe?

Wenn Sie weitere Bedenken oder Fragen zu diesem Problem haben, steht Ihnen unser Team von Happiness Engineers zur Verfügung – öffnen Sie ein Support-Ticket.