CVE-2022-37783: Preisgabe von Passwort-Hashes (04.08.2022)

Produkt: Craft CMS

Betroffene Versionen: 3.0.0 – 3.7.32

Behobene Versionen: >=3.7.33

CVE-Nummer: CVE-2022-37783

Risiko: Hoch

Entdeckt durch: Ing. Simon Schönegger, BSc (Graz), Harald Schmal, BSc (Vienna)

Während eines Penetrationstests für einen Kunden, konnten Mitarbeiter der TÜV Trust IT Austria eine Schwachstelle, welche die Passwort-Hashes von Benutzern in CSRF-Cookies und CSRF-Tokens preisgibt, ausfindig machen. Initial wurde die Schwachstelle vom Kunden an den Hersteller gemeldet und die Schwachstelle wurde in Version 3.7.33 behoben. Da jedoch alle älteren Versionen von Craft CMS von dieser Schwachstelle betroffen sind und vom Hersteller keine Security-Advisory veröffentlicht wurde, wurde entschieden, den Hersteller seitens des TÜV erneut zu kontaktieren, um eine Security-Advisory zu erwirken und die Schwachstelle zu veröffentlichen. Dies führte dazu, dass seit 05.07.2022 alle Anwender von betroffenen Craft CMS Versionen eine Meldung bekommen ein Update auf eine Version >=3.7.33 durchzuführen. Mit dem Hersteller wurde vereinbart, die Schwachstelle am 04.08.2022 zu veröffentlichen. 

Detaillierte Schwachstellenbeschreibung

Alle Benutzer, die sich mittels E-Mail oder Benutzername in Craft CMS anmelden sind von dieser Schwachstelle betroffen. Benutzer, welche sich über SAML anmelden, sind von dieser Schwachstelle jedoch nicht betroffen. Der Craft-CSRF-Cookie beinhaltet den Passwort-Hash des Benutzers in URL-enkodierter Form.

Das Passwort wird mittels bcrypt gehasht. Da es sich bei bcrypt um ein sicheres Hashingverfahren handelt, kann es lange dauern, bis das Passwort gecrackt wird. Die Preisgabe des Passwort-Hashes lässt sich auf schlechte Programmierung zurückführen, da der Passwort-Hash in den CSRF-Token eingefügt wird, um diesen „sicher“ zu gestalten.

Da das Cookie-Attribut „HTTP-Only“ bei einer Standardinstallation von Craft-CMS gesetzt ist, ist es Angreifern nicht möglich das Cookie und somit den Passwort-Hash mittels XSS auszulesen.

Jedoch wird der Passwort-Hash ebenfalls in einem Craft-CSRF-Token eingefügt, welcher im HTML der Webseite eingebettet ist. In diesem Fall ist der Passwort-Hash nicht URL-enkodiert, da eine Funktion des YII-Frameworks verwendet wird, um den Token zu maskieren. Die Maskierung des Tokens kann jedoch mittels kleiner Änderungen der unmask-Funktion im YII-Framework rückgängig gemacht werden. Da der CSRF-Token sich im HTML der Seite befindet, kann dieser mittels XSS-Angriffen ausgelesen und exfiltriert werden, wodurch ein Angreifer den Passwort-Hash des angemeldeten Benutzers erbeuten kann.

Kontaktierung des Herstellers

2022-01Initialer Kontakt durch Kunden
2022-02Behebung der Schwachstelle. Keine Veröffentlichung einer Security-Advisory.
2022-06-29Initialer Kontakt von TÜV Austria mittels Kontaktformular auf der Webseite des Herstellers.
2022-06-30Antwort des Herstellers.
2022-06-30TÜV Austria übermittelt eine detaillierte Schwachstellenbeschreibung und Risikoeinschätzung an den Hersteller.
2022-07-02Antwort vom Hersteller, dass diese Schwachstelle behoben ist und nur veraltete Versionen betrifft.
2022-07-03TÜV Austria antwortet, dass alle Versionen der letzten 4 Jahre von dieser Schwachstelle betroffen sind und es geplant ist die Schwachstelle mit 04.08.2022 zu veröffentlichen.
2022-07-06Hersteller antwortet, dass die Version 3.7.33 nun als kritisch markiert wurde und alle Benutzer älterer Versionen eine Aufforderung zum Update auf zumindest Version 3.7.33 erhalten. Der Veröffentlichung mit 04.08.2022 wird zugestimmt.
2022-08-04Meldung an eine CNA-Stelle
2022-09-13Zuweisung der CVE Nummer CVE-2022-37783 durch CNA-Stelle

Ich bin tami

Sind Sie zum ersten Mal hier? Ich helfe Ihnen gerne dabei, sich zurecht zu finden.

Zertifikate prüfen

  • Personenzertifizierung

  • Produktzertifizierung

  • Managementsystem-Zertifizierung

  • Verification of Conformity

Geben Sie die Daten ein und überprüfen Sie ein Zertifikat

Lösung finden

WiPreis einreichen