Zum Inhalt springen

Firebase Storage öffentlich listbar

Prüfregel · RSC-SEC-130

  • Sicherheit
  • Schweregrad: Kritisch
  • CWE-284
  • OWASP A01-2021

Fragt den Bucket aus `storageBucket` der App-Konfiguration anonym mit `maxResults=1` ab und wertet nur aus, ob das Listen erlaubt und die Liste leer ist — Datei- und Ordnernamen werden verworfen, nie gespeichert.

Warum das zählt

Firebase Storage ist der Datei-Speicher hinter Profilbildern, Ausweisfotos und hochgeladenen Dokumenten. Erlauben die Regeln anonymes Listen, bekommt jeder die vollständige Dateiliste — und lädt danach jede Datei einzeln herunter. So wurden bei der Tea-App Ausweise und Selfies von Nutzerinnen öffentlich.

Der Fehler entsteht wie bei Firestore: Die Standardregeln blockieren jeden Upload, der schnellste Weg zum Laufen ist `allow read, write: if true`, und er bleibt stehen. Die Konfiguration mit dem Bucket-Namen steht in jedem ausgelieferten Bundle.

Wir prüfen mit genau einer Anfrage, ohne Schlüssel und ohne Anmeldung, und lesen nur, ob die Antwort eine nicht leere Liste ist. Fix: Lesen an den Eigentümer binden (`match /users/{userId}/{file=**} { allow read: if request.auth.uid == userId; }`), danach erneut scannen.

Prüfstufe

  • Außen-Scan (anonym)

So behebt ihr es

In `storage.rules` Lesen und Listen an `request.auth.uid` und den Nutzerpfad binden; öffentliche Dateien in einen eigenen Ordner ohne Listenrecht legen.

Eigene App kostenlos prüfen