Abuso de Timeout de Función
Las funciones serverless sin timeout configurado pueden mantenerse corriendo indefinidamente con requests maliciosas, drenando tu presupuesto.
Cómo Funciona
Los proveedores cloud cobran por milisegundo de ejecución. Sin un timeout, un atacante puede mandar una request lenta que mantiene tu función viva por el límite máximo de la plataforma (15 minutos en Lambda). Multiplica eso por invocaciones concurrentes y tienes un ataque de denial-of-wallet.
// MAL: serverless.yml sin timeout — por default puede ser 900s en AWS
functions:
api:
handler: src/handler.main
# sin timeout configurado// BIEN: establece un timeout justo para el trabajo esperado de la función
functions:
api:
handler: src/handler.main
timeout: 10 # segundos — falla rápido si algo se cuelgaEjemplo Real
Una startup reportó una factura de $2,300 USD en AWS en un solo día después de que un bot empezó a mandar requests lentas que mantenían sus funciones Lambda abiertas por el timeout máximo de 900 segundos.
Cómo Prevenirlo
- Establece timeouts explícitos en cada función — nunca dependas de los defaults de la plataforma
- Pon el timeout un poco por encima de tu tiempo de ejecución p99, no el máximo de la plataforma
- Habilita AWS Lambda Concurrency Limits o equivalente para limitar ejecuciones paralelas
- Configura alertas de facturación para detectar picos de costo inesperados temprano
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Roles IAM Sobre-privilegiados
mediumDarle a funciones serverless o servicios más permisos IAM de los necesarios convierte una brecha menor en un compromiso total de la cuenta.
Variables de Entorno en Logs
highLoguear process.env vuelca todos tus secrets — API keys, contraseñas de base de datos, claves de firma — directamente en tu sistema de logs.
Estado Compartido en /tmp
mediumLas funciones serverless reutilizan entornos de ejecución entre invocaciones, por lo que archivos sensibles escritos en /tmp pueden ser leídos por requests posteriores de otros usuarios.
Fuga de Estado en Cold Start
mediumLas variables globales en funciones serverless persisten entre invocaciones en el mismo entorno de ejecución, filtrando datos de usuarios entre requests.