API5:2023 Broken Function Level Authorization

owasp

Este riesgo ocurre cuando una API no controla correctamente qué funciones o acciones puede ejecutar cada tipo de usuario. Aunque el usuario esté autenticado, la API permite que acceda a endpoints o operaciones que deberían estar restringidas (por rol, perfil, plan, área o nivel de privilegio). En simple: la persona “entra”, pero puede hacer cosas que no le corresponden.

Origen del problema

Sucede con frecuencia en APIs reales por causas muy habituales:

  • Permisos implementados “a medias”: se valida el login, pero no se valida la autorización por función en cada endpoint.
  • Roles mal definidos o inconsistentes: lo que “puede” un rol varía según el servicio o el equipo que lo implementó.
  • Confiar en la interfaz: se ocultan botones en el front-end, pero el endpoint sigue existiendo y acepta llamadas.
  • Endpoints administrativos expuestos: funciones internas o de soporte quedan accesibles desde el mismo dominio/API.
  • Cambios rápidos en producto: se agregan nuevas funciones y se olvidan controles de rol.

Ejemplo de escenario de ataque

Paso 1 – Contexto del sistema

Un sistema de gestión de usuarios tiene una API con funciones para: ver perfil, actualizar datos personales y (solo para administradores) cambiar roles o desactivar cuentas.

Paso 2 – Acción general del atacante

Un usuario normal, con cuenta válida, descubre que existen endpoints para funciones administrativas. La API no valida correctamente que esa función sea exclusiva para administradores.

Paso 3 – Resultado o impacto

El usuario logra ejecutar acciones de administración: desactiva cuentas ajenas o se asigna permisos superiores. Esto afecta la operación y puede abrir la puerta a incidentes mayores.

Impacto real si no se gestiona

  • Escalada de privilegios: usuarios comunes obtienen funciones administrativas.
  • Sabotaje operativo: desactivación de cuentas, cambios de roles, bloqueo de usuarios.
  • Fraude: aprobación/cancelación de operaciones que deberían estar controladas.
  • Pérdida de trazabilidad y confianza en los procesos internos.
  • Riesgos de cumplimiento por accesos indebidos a funciones críticas

Conclusión

El día que un usuario común puede ejecutar funciones de administrador, ya no estás frente a un bug: estás frente a una pérdida de control. Y cuando se pierde el control de funciones, el impacto casi siempre escala más rápido de lo que el equipo puede reaccionar.


¿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