A06: Insecure Design · 2025
El sistema carece de controles necesarios desde el diseño, incluso si la implementación no contiene un error puntual
Resumen
El sistema carece de controles necesarios desde el diseño, incluso si la implementación no contiene un error puntual. El riesgo se origina en requisitos, límites de confianza y flujos inseguros.
Cómo funciona el ataque
Un usuario repite un descuento en el flujo de compra porque el diseño no define ni exige un límite de uso, abusando de la lógica de negocio.
Ejemplo
Vulnerable · PseudocódigoPOST /cart/apply-coupon
{"code": "WELCOME10"}
cart.discount += 10Corrección: Definir un uso por cliente y aplicarlo de forma atómica en el servidor.
Prevención
- Realizar modelado de amenazas y definir requisitos de seguridad verificables.
- Usar patrones seguros, límites de negocio y separación de responsabilidades.
- Probar escenarios de abuso durante diseño, desarrollo y revisión.
Linaje
- 2021 · A04: Insecure Design Nueva en 2021
- 2025 · A06: Insecure Design Baja desde el puesto 4
- 2021:A04 → 2025:A06: Insecure Design baja del puesto 4 al 6.