Broken Access Control es el riesgo #1 del OWASP Top 10 — con razón. La autenticación pregunta "¿quién sos?"; el control de acceso pregunta "¿tenés permiso para esto?". Cuando ese segundo control falta o está mal, los usuarios pueden salirse de sus permisos, y de ahí vienen la mayoría de las filtraciones serias.
Qué abarca
| Forma | Cómo se ve |
|---|---|
| Horizontal (IDOR/BOLA) | Acceder a datos de otro cambiando un ID — ver IDOR |
| Vertical (escalada) | Un usuario normal llega a funciones de admin |
| Checks de función faltantes | Endpoints de admin alcanzables por cualquiera con la URL |
| A nivel de propiedad | Setear campos que no deberías (role: admin) |
| Manipulación de metadata | Editar un JWT/cookie para elevar acceso |
Cómo prevenirlo
- Negá por defecto. Sin acceso salvo que se otorgue explícitamente.
- Aplicá en el servidor. Esconder un botón no es control de acceso; la API debe rechazar.
- Centralizá la lógica en una capa de políticas.
- Limitá cada query al usuario (por ID y dueño juntos).
- Mínimo privilegio y testeá como el usuario equivocado.
Nurbak escanea tu app por broken access control y el resto del checklist de seguridad de APIs.

