Zum Inhalt springen

Prüfregel · RSC-SEC-051

RLS-Policy erlaubt allen Zugriff

SicherheitSchweregrad: HochCWE-284

Findet Policies mit `using (true)` — RLS ist aktiv, wirkt aber nicht.

Warum das zählt

Diese Regel findet den heimtückischeren Fall: RLS ist aktiviert, aber die Policy lautet sinngemäß „erlaube allen alles“ (using (true)). In jeder Übersicht steht dann ein grünes Häkchen — geschützt ist trotzdem nichts.

Solche Policies entstehen fast immer beim Debuggen. Etwas funktioniert nicht, die Regel wird zum Testen weit geöffnet, danach vergisst man sie. Für die App ändert sich nichts Sichtbares, deshalb fällt es nie auf.

Fix: Jede Policy an die Identität binden — typischerweise auth.uid() = user_id — statt an true. Prüft dabei jede Operation einzeln: Häufig ist SELECT sauber eingeschränkt, während UPDATE oder DELETE noch offen stehen.

Prüfstufe

Quellcode aus Source MapsRepo-Zugang (Deep-Scan)

So behebt ihr es

Policy auf den Eigentümer einschränken, z. B. `using (auth.uid() = user_id)`.

Eigene App kostenlos prüfen