API4:2023 Unrestricted Resource Consumption

owasp

Este riesgo aparece cuando una API permite que un usuario (legítimo o malicioso) consuma demasiados recursos del sistema —como CPU, memoria, almacenamiento, ancho de banda o consultas a base de datos— sin límites efectivos. No siempre parece un “ataque”: a veces basta con hacer demasiadas solicitudes o pedir respuestas demasiado grandes para degradar el servicio.

Origen del problema

Sucede con frecuencia en APIs reales por motivos muy comunes:

  • Sin límites de uso (rate limits) por usuario, por IP, por token o por aplicación cliente.
  • Endpoints costosos (búsquedas, filtros, reportes, exportaciones) expuestos sin controles.
  • Respuestas demasiado grandes por falta de paginación o límites de tamaño.
  • Procesos asíncronos mal controlados (generación de reportes, cargas masivas) que se pueden disparar repetidamente.
  • Falta de monitoreo y alertas para detectar consumo anormal antes de que impacte a todos.

Ejemplo de escenario de ataque

Paso 1 – Contexto del sistema

Una plataforma de e-learning expone una API para listar cursos y alumnos. El endpoint permite filtrar y ordenar, y puede devolver grandes volúmenes de datos si no se controla.

Paso 2 – Acción general del atacante

Un atacante (o incluso un usuario abusivo) realiza muchas solicitudes repetidas y fuerza respuestas muy grandes. La API no aplica límites ni reduce el costo de esas operaciones.

Paso 3 – Resultado o impacto

El sistema se vuelve lento para todos: aumentan los tiempos de respuesta, se saturan recursos y algunas funciones dejan de operar. En casos extremos, el servicio cae o genera costos inesperados en infraestructura.

Impacto real si no se gestiona

  • Interrupción del servicio (DoS) o degradación severa del rendimiento.
  • Aumento de costos (cloud, base de datos, CDN, cómputo).
  • Pérdida de ingresos por caídas, abandono de usuarios y tickets de soporte.
  • Impacto reputacional: “la plataforma es inestable”.
  • Riesgo operacional: procesos críticos se retrasan o fallan (pagos, pedidos, reservas).

Conclusión

A veces no necesitas vulnerar una API para tumbarla: basta con hacerla trabajar de más. Si tu servicio no sabe decir “hasta aquí”, tarde o temprano alguien —por malicia o por abuso— lo obligará a caer.


¿Quieres profundizar en el OWASP API Top 10:2023?

Domina los 10 riesgos más críticos de las APIs de forma práctica con mi curso OWASP API Top 10:2023, actualizado a la última versión.

Accede aqui al curso

Nos vemos en la siguiente entrada

Fernando Conislla