Firebase Firestore : pourquoi 'allow read, write: if request.auth != null' n'est pas une sécurité
Le faux sentiment de sécurité
La règle allow read, write: if request.auth != null est la configuration Firestore la plus courante. Elle semble sécurisée : seuls les utilisateurs authentifiés ont accès. En réalité, elle permet à N'IMPORTE QUEL utilisateur authentifié de lire et modifier les données de TOUS les autres.
Le problème concret
Un utilisateur A se connecte. Il peut lire les documents de l'utilisateur B, modifier ses données, supprimer son compte. Parce que la règle vérifie seulement "est-ce que quelqu'un est connecté" : pas "est-ce le bon propriétaire".
La correction
Remplacez par : allow read, write: if request.auth.uid == resource.data.userId : vérifie que l'utilisateur connecté est bien le propriétaire du document.
Supabase vs Firebase sur ce point
Supabase utilise des politiques RLS au niveau PostgreSQL : plus granulaires mais avec leurs propres pièges (voir notre article sur les 5 erreurs Supabase RLS).
Ce que nous trouvons en audit
Sur les applications Firebase que nous auditons, 70% utilisent cette règle basique. Résultat : accès cross-utilisateur total pour tout utilisateur authentifié.
Articles liés
Trois analyses proches pour continuer la lecture sur la meme surface de risque.
Supabase RLS : 5 erreurs de configuration que nous trouvons chaque semaine
Les politiques Row Level Security de Supabase sont la première ligne de défense. Voici les 5 erreurs les plus fréquentes.
WordPress REST API : les 7 endpoints dangereux activés par défaut
Votre WordPress expose des données sensibles via la REST API sans que vous le sachiez. Voici les 7 endpoints à vérifier immédiatement.
Laravel : quand Ziggy expose la carte complète de votre application
L'exposition des routes Ziggy et de la configuration Laravel donne aux attaquants une cartographie complète de votre app.
Sources
Analyse éditoriale fondée sur la documentation officielle des éditeurs, projets et autorités concernées.
Services associés
Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.