
Sicherheitsforschung und Offenlegung von Schwachstellen für die ownCloud ONLYOFFICE Integration App, einschließlich technischer Analyse, PoCs, Auswirkungen und Behebung.
CWE-307: Unsachgemäße Einschränkung übermäßiger Authentifizierungsversuche Schweregrad
CVSS v3.1: 8.1 (Hoch)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Der Score spiegelt die während der Tests des betroffenen Authentifizierungsablaufs beobachtete Auswirkung wider.
Owncloud Version 10.16.3
Der betroffene WebDAV-Endpunkt akzeptiert Authentifizierungsdaten über den HTTP-Header Authorization: Basic.
Beispielanfrage:
GET /remote.php/webdav/ HTTP/1.1 Host: target.example Authorization: Basic <BASE64(username:password)>
Der Base64-Wert repräsentiert:
username:password
Wiederholte Authentifizierungsfehler gegen dasselbe Konto lösen nicht die erwarteten Brute-Force-Schutzmechanismen aus.
Während der Tests wurden mehrere aufeinanderfolgende ungültige Authentifizierungsversuche übermittelt, ohne dass Folgendes beobachtet wurde:
Ratenbegrenzung
Progressive Authentifizierungsverzögerungen
Temporäre Kontosperrung
HTTP 429 Too Many Requests
Ein nachfolgender Authentifizierungsversuch mit gültigen Anmeldedaten wurde weiterhin akzeptiert.
Schritt 1 — Zugriff auf den WebDAV-Authentifizierungsablauf
Authentifizieren Sie sich bei ownCloud und erhalten Sie Zugriff auf ein privates Dokument/eine Freigabe, das/die den betroffenen WebDAV-Authentifizierungsablauf verwendet.
Beim Zugriff auf den betroffenen Endpunkt präsentiert der Server eine HTTP-Basic-Authentifizierungsaufforderung.
Schritt 2 — Beobachten der Authentifizierungsanfrage
Die Anmeldedaten werden über den HTTP-Header Authorization übertragen:
Authorization: Basic <BASE64(username:password)>
Schritt 3 — Durchführen wiederholter Authentifizierungsversuche
Übermitteln Sie mit einem kontrollierten Testkonto wiederholt Authentifizierungsanfragen mit ungültigen Passwörtern.
Beispiel-Testanmeldedaten:
testuser:incorrect-password-01 testuser:incorrect-password-02 testuser:incorrect-password-03 ...
Die Anfragen können mit Burp Suite Intruder oder einem anderen HTTP-Testtool reproduziert werden.
Schritt 4 — Beobachten des Serververhaltens
Nach mehreren aufeinanderfolgenden fehlgeschlagenen Authentifizierungsversuchen akzeptiert der Server weiterhin Authentifizierungsanfragen, ohne einen wirksamen Brute-Force-Schutzmechanismus durchzusetzen.
Es wird weder eine temporäre Sperrung, progressive Verzögerung, Ratenbegrenzung noch eine HTTP 429 Too Many Requests-Antwort beobachtet.
Schritt 5 — Überprüfen der erfolgreichen Authentifizierung
Eine nachfolgende Anfrage mit den korrekten Anmeldedaten wird normal akzeptiert.
Dies zeigt, dass wiederholte Authentifizierungsfehler nachfolgende Passwortratversuche über den betroffenen WebDAV-Authentifizierungsmechanismus nicht ausreichend einschränken.
Ein kurzes PoC-Video, das den vollständigen Test demonstriert, ist Teil dieser Forschung.
Ein Angreifer, der den betroffenen WebDAV-Authentifizierungsendpunkt erreichen kann, kann wiederholt Passwörter gegen Benutzerkonten ausprobieren, ohne auf wirksame Brute-Force-Schutzmaßnahmen auf Anwendungsebene zu stoßen.
Erfolgreiches Passwortraten könnte je nach Privilegien und Berechtigungen des Kontos zu unbefugtem Zugriff auf das Ziel-ownCloud-Konto und die zugehörigen Ressourcen führen.
Die Schwachstelle erhöht daher die Machbarkeit von Online-Passwortratangriffen gegen Konten, die über den betroffenen Authentifizierungsablauf exponiert sind.
Ein ähnliches Problem wurde zuvor in einem verwandten Nextcloud-Produkt gemeldet und zugewiesen:
CVE-2023-32319
Referenz:
HackerOne Report #1879549
Diese Referenz dient dem Vergleich des Brute-Force-Schutzproblems bei der Authentifizierung und impliziert nicht, dass die beiden Schwachstellen identisch sind.
Der WebDAV-Authentifizierungsablauf sollte in den bestehenden Brute-Force-Schutzmechanismus der Anwendung integriert werden.
Empfohlene Kontrollen umfassen:
Verfolgung fehlgeschlagener Authentifizierungsversuche für jedes Konto und/oder jede Quelle.
Anwendung progressiver Verzögerungen nach wiederholten Authentifizierungsfehlern.
Durchsetzung einer konfigurierbaren maximalen Anzahl aufeinanderfolgender fehlgeschlagener Versuche.
Temporäre Ablehnung weiterer Authentifizierungsversuche nach Erreichen des konfigurierten Schwellenwerts.
Gib HTTP 429 Too Many Requests zurück, wenn die Ratenbegrenzung ausgelöst wird.
Wende den Schutz konsistent auf alle Authentifizierungsmechanismen an, einschließlich der HTTP Basic Authentication, die von WebDAV verwendet wird.
Stelle sicher, dass alternative Authentifizierungsmechanismen oder Endpunkte nicht genutzt werden können, um den bestehenden Brute-Force-Schutz der Anwendung zu umgehen.
Eine mögliche Richtlinie könnte die Authentifizierung nach einer konfigurierbaren Anzahl aufeinanderfolgender Fehlversuche, etwa 10 Versuche, vorübergehend einschränken. Der genaue Schwellenwert und der Sperrzeitraum sollten gemäß den Sicherheitsanforderungen der Anwendung festgelegt werden.
ownCloud Server: https://github.com/owncloud/core
Verwandte Schwachstelle: CVE-2023-32319
HackerOne Report #1879549: https://hackerone.com/reports/1879549
Hoang126 im Auftrag des ETC JSC Security-Teams
Sicherheitsforschung und verantwortungsvolle Offenlegung.
Diese Forschung wurde zu Zwecken des Sicherheitstests und der verantwortungsvollen Offenlegung durchgeführt.
Die Tests wurden gegen eine kontrollierte Umgebung durchgeführt. Es erfolgte kein unbefugter Zugriff auf Konten oder Daten Dritter.