Zum Inhalt springen

Firebase-Regel prüft nur die Anmeldung

Prüfregel · RSC-SEC-132

  • Sicherheit
  • Schweregrad: Hoch
  • CWE-639
  • OWASP A01-2021

Findet Firebase-Regeln, die nur `request.auth != null` (bzw. `auth != null`) verlangen, ohne Bezug auf Eigentümer, `resource.data` oder `request.auth.uid` — in Firestore und der Realtime Database überall, in Storage auf Nutzerpfaden.

Warum das zählt

„Nur für angemeldete Nutzer“ klingt nach Schutz, ist bei Firebase aber kaum einer: Jeder legt sich in Sekunden ein Konto an, per E-Mail, Google oder oft sogar anonym. Eine Regel, die nur prüft, OB jemand angemeldet ist, lässt damit jedes Konto die Daten aller anderen lesen oder überschreiben.

Von außen ist das unsichtbar — anonym verweigert die Datenbank ja korrekt. Deshalb ist es das Firebase-Gegenstück zur Supabase-Policy, die nur `auth.role() = 'authenticated'` prüft. Fix: jede Regel an den Eigentümer binden und im Rules-Playground mit zwei verschiedenen Konten gegenprüfen.

Prüfstufe

  • Repo-Zugang (Deep-Scan)

So behebt ihr es

Den Zugriff an den Eigentümer binden, z. B. `request.auth.uid == resource.data.ownerId` oder auf Nutzerpfaden `request.auth.uid == userId`.

Eigene App kostenlos prüfen