Realtime Database Sin Autenticación
Las reglas de Firebase Realtime Database con '.read: true' y '.write: true' a nivel raíz permiten a cualquiera en internet leer y modificar todos los datos.
Cómo Funciona
Firebase Realtime Database usa reglas de seguridad basadas en JSON. Configurar '.read: true' y '.write: true' en la raíz otorga acceso completo a todos los datos. A diferencia de Firestore, las reglas de Realtime Database cascadean hacia abajo — una regla permisiva en la raíz abre cada nodo hijo. Los atacantes pueden simplemente usar la API REST (https://your-project.firebaseio.com/.json) para descargar toda la base de datos como un solo archivo JSON, sin necesitar ningún SDK ni autenticación.
{
"rules": {
".read": true,
".write": true
}
}{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
},
"public_posts": {
".read": true,
".write": "auth !== null"
}
}
}Ejemplo Real
Investigadores han encontrado que agregar /.json a una URL de Firebase Realtime Database exporta toda la base de datos. En 2019, un estudio encontró 12,000+ bases de datos Firebase públicamente accesibles, filtrando emails, passwords, números de teléfono y mensajes de chat de apps móviles populares.
Cómo Prevenirlo
- Nunca uses '.read: true' o '.write: true' a nivel raíz
- Limita las reglas a rutas específicas con validación de auth.uid
- Usa el Firebase Rules Playground para probar patrones de acceso
- Monitorea alertas de seguridad de Firebase en la Google Cloud Console
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Reglas Firestore con Read/Write True
criticalLas reglas de seguridad de Firestore configuradas como 'allow read, write: if true' dan a cualquier usuario — autenticado o no — acceso completo para leer, crear, modificar y eliminar todos los documentos.
Reglas de Storage de Firebase Permisivas
highLas reglas de Firebase Cloud Storage permiten a cualquier usuario leer, escribir o eliminar archivos sin autenticación, exponiendo contenido subido y habilitando manipulación de archivos.
Reglas en Cascada Mal Configuradas
highLas reglas Firebase a nivel padre sobreescriben reglas restrictivas de los hijos, otorgando involuntariamente acceso más amplio del pretendido a colecciones y documentos anidados.
API Key de Firebase Expuesta en Código
mediumLa configuración de Firebase (apiKey, projectId, databaseURL) está hardcodeada en bundles de JavaScript y públicamente accesible, permitiendo a atacantes interactuar con tus servicios de Firebase.