mediumCWE-798

API Key de Firebase Expuesta en Código

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

Cómo Funciona

Firebase requiere un objeto de configuración con apiKey, authDomain, projectId y otros valores embebidos en código del cliente. Aunque Google dice que la API key sola no es un riesgo de seguridad, se vuelve peligrosa cuando se combina con reglas de seguridad débiles. Los atacantes extraen la config del bundle de JavaScript y la usan para autenticarse anónimamente, consultar Firestore/RTDB, subir a Storage o llamar Cloud Functions. La API key también habilita abuso como enviar notificaciones push o consumir quota de servicios Firebase.

Código Vulnerable
// Hardcoded in source, no App Check
const firebaseConfig = {
  apiKey: 'AIzaSyD1234567890abcdefg',
  authDomain: 'my-app.firebaseapp.com',
  projectId: 'my-app-12345',
  storageBucket: 'my-app-12345.appspot.com'
};
const app = initializeApp(firebaseConfig);
Código Seguro
// Config from environment + App Check enabled
const firebaseConfig = {
  apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
  authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
  projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
  storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET
};
const app = initializeApp(firebaseConfig);
initializeAppCheck(app, {
  provider: new ReCaptchaV3Provider(process.env.NEXT_PUBLIC_RECAPTCHA_KEY),
  isTokenAutoRefreshEnabled: true
});

Ejemplo Real

En 2023, investigadores demostraron que API keys de Firebase expuestas combinadas con reglas de seguridad abiertas les permitieron acceder a datos de miles de apps. Herramientas como Pyrebase y firebase-exploiter automatizan el proceso de descubrir y explotar configuraciones de Firebase expuestas.

Cómo Prevenirlo

  • Habilita Firebase App Check para verificar que los requests vienen de tu app
  • Restringe el uso de la API key en Google Cloud Console a APIs y dominios específicos
  • Siempre aplica reglas de seguridad adecuadas sin importar la exposición de la API key
  • Monitorea el uso de Firebase por patrones anómalos que indiquen acceso no autorizado

Tecnologías Afectadas

FirebaseNode.jsReactMobile

Data Hogo detecta esta vulnerabilidad automáticamente.

Escanea Tu Repo Gratis

Vulnerabilidades Relacionadas