Función Cloud con Invocación Pública
Tu Lambda o Cloud Function permite invocación sin autenticación, lo que significa que cualquiera en internet puede dispararla sin credenciales.
Cómo Funciona
Las Cloud Functions desplegadas con --allow-unauthenticated (GCP) o con una política basada en recursos que permite Principal: '*' para lambda:InvokeFunction (AWS) pueden ser llamadas por cualquiera. Si la función realiza operaciones sensibles (escritura en base de datos, envío de emails, cargos a métodos de pago), cualquier usuario de internet puede disparar esas operaciones sin ninguna verificación de autenticación.
# MAL: Cloud Function de GCP permitiendo invocación sin autenticación
gcloud functions deploy mi-funcion \
--trigger-http \
--allow-unauthenticated # cualquiera puede invocarla
# MAL: política de recursos de Lambda AWS con invocación pública
aws lambda add-permission \
--function-name mi-funcion \
--principal "*" \
--action lambda:InvokeFunction# BIEN: Cloud Function de GCP requiriendo autenticación
gcloud functions deploy mi-funcion \
--trigger-http \
--no-allow-unauthenticated # requiere token de identidad de Google válido
# BIEN: Lambda AWS invocada solo por API Gateway con auth
# Usa API Gateway + autorizador de Cognito o autorizador Lambda — sin invocación directa públicaEjemplo Real
Una startup desplegó una Cloud Function de GCP para su manejador de webhook de Stripe con --allow-unauthenticated por simplicidad. Un atacante descubrió la URL, repitió payloads viejos de webhook y disparó fulfillments de pedidos duplicados. La función debería haber verificado la firma del webhook de Stripe y requerido invocación autenticada.
Cómo Prevenirlo
- Nunca deploys Cloud Functions con --allow-unauthenticated a menos que sean verdaderos endpoints públicos (como webhooks con verificación de firma)
- Para webhooks, usa --no-allow-unauthenticated pero verifica la firma del proveedor dentro de la función
- Usa API Gateway como puerta de entrada con un autorizador apropiado en lugar de exponer Lambda directamente
- Aplica mínimos privilegios: solo permite que servicios específicos (API Gateway, Event Bridge) invoquen la función
- Audita todas las políticas basadas en recursos de Lambda/Cloud Function en busca de entradas Principal: '*'
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Bucket S3 con Acceso Público
criticalTu bucket de S3 es públicamente legible debido a un ACL público, configuración de Block Public Access deshabilitada o una política de bucket con wildcard — cualquiera en internet puede listar y descargar tus archivos.
SSRF a Metadata de Cloud
criticalTu app hace fetch de URLs proporcionadas por el usuario sin bloquear endpoints de metadata de cloud como 169.254.169.254, dejando a los atacantes robar tus credenciales cloud vía SSRF.
Credenciales AWS Hardcodeadas
criticalLas claves de acceso de AWS (que empiezan con AKIA) o las claves de acceso secretas están hardcodeadas en tu código fuente, dando a cualquiera que lea el código acceso completo a tu cuenta de AWS.
Política IAM Excesivamente Permisiva
highTu política IAM usa Action: '*' o Resource: '*', otorgando muchos más permisos de los necesarios y convirtiendo cualquier fuga de credenciales en una toma de control completa de la cuenta.