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`.