Introducción a OWASP Testing Guide
🔐 OWASP Top 10 2025: Análisis Técnico de las Nuevas Categorías A03 y A10
La edición 2025 del OWASP Top 10, finalizada en enero de 2026, no es una simple actualización de rankings. Introduce dos categorías completamente nuevas que reflejan dónde están migrando los ataques en producción: A03: Software Supply Chain Failures y A10: Mishandling of Exceptional Conditions. Este análisis técnico desglosa su origen, los CWEs que las componen y las implicaciones para los equipos de desarrollo.
💡 Metodología de la edición 2025: datos detrás de la lista
A diferencia de ediciones anteriores, la metodología de 2025 se basó en un volumen de datos sin precedentes: más de 175.000 registros CVE analizados, 248 CWEs mapeados en las diez categorías y encuestas a profesionales de miles de organizaciones. Los datos de pruebas contribuidas cubrieron aproximadamente 2,8 millones de aplicaciones, y se partió de 643 CWEs únicos que fueron condensados en los 248 finales.
Este enfoque metodológico explica por qué dos categorías nuevas entraron directamente al ranking: la comunidad las identificó como riesgos emergentes que los datos de pruebas tradicionales no capturaban con suficiente resolución.
A03:2025 – Software Supply Chain Failures: el riesgo de la cadena de suministro
Origen y evolución
Esta categoría no es completamente nueva: nació en 2013 como "A9 – Using Components with Known Vulnerabilities" y en 2021 se denominó "Vulnerable and Outdated Components". La edición 2025 la expande para cubrir toda la cadena de suministro de software: dependencias directas y transitivas, sistemas de build, pipelines de CI/CD, canales de distribución y repositorios de artefactos.
En la encuesta comunitaria previa a la publicación, esta categoría fue la número 1 con un 50% de los encuestados rankeándola en primer lugar.
Datos técnicos clave
| Métrica | Valor |
|---|---|
| CWEs mapeados | 6 |
| Tasa de incidencia promedio | 5,19% (la más alta de las diez categorías) |
| Tasa de incidencia máxima | 9,56% |
| Cobertura promedio | 27,47% |
| Total de ocurrencias | 215.248 |
| CVEs registrados con CWEs relacionados | Solo 11 |
El dato más llamativo es la discrepancia entre las 215.248 ocurrencias y los solo 11 CVEs con CWEs asociados a esta categoría. Esto indica que la mayoría de las fallas en la cadena de suministro no se reportan como vulnerabilidades formales, lo que dificulta su detección sistemática.
CWEs relevantes
📍 CWE-477: Use of Obsolete Function
📍 CWE-1104: Use of Unmaintained Third Party Components
📍 CWE-1329: Reliance on Component That is Not Updateable
📍 CWE-1395: Dependency on Vulnerable Third-Party Component
Escenarios de ataque típicos
Un atacante puede comprometer un paquete en un registro público, inyectar código malicioso durante el proceso de build, o explotar una dependencia transitiva sin mantenimiento que nunca se audita. La defensa requiere SBOM (Software Bill of Materials) centralizado, escaneo continuo de dependencias y separación de funciones en el pipeline de CI/CD.
A10:2025 – Mishandling of Exceptional Conditions: el nuevo frente del error handling
Una categoría completamente nueva
A diferencia de A03, A10 es la única categoría completamente nueva en la edición 2025. Agrupa 24 CWEs que antes se dispersaban entre "calidad de código pobre" y errores genéricos, pero que ahora se reconocen como un vector de ataque específico.
Datos técnicos clave
| Métrica | Valor |
|---|---|
| CWEs mapeados | 24 |
| Tasa de incidencia promedio | 2,95% |
| Tasa de incidencia máxima | 20,67% |
| Cobertura máxima | 100% (la única categoría con cobertura total) |
| Total de ocurrencias | 769.581 |
| Total de CVEs | 3.416 |
La cobertura del 100% significa que cada una de las aplicaciones evaluadas presentó al menos un CWE de esta categoría. Los 3.416 CVEs asociados confirman que no se trata de un problema teórico.
CWEs notables
📍 CWE-209: Generation of Error Message Containing Sensitive Information
📍 CWE-234: Failure to Handle Missing Parameter
📍 CWE-274: Improper Handling of Insufficient Privileges
📍 CWE-476: NULL Pointer Dereference
📍 CWE-636: Not Failing Securely ('Failing Open')
El problema del "fail-open"
El patrón más peligroso es el fail-open: cuando una aplicación encuentra una condición excepcional y, en lugar de denegar el acceso, lo permite por defecto. Un ejemplo clásico es un sistema de autenticación que, al no poder conectar con el servicio de validación de tokens, deja pasar la petición. La categoría también cubre errores lógicos que derivan en transacciones fraudulentas, condiciones de carrera y fugas de información en mensajes de error.
La prevención exige capturar cada error en el punto donde ocurre, registrar el evento, alertar si corresponde y tener un manejador global de excepciones como red de seguridad
Otras reordenaciones clave
La edición 2025 también movió posiciones significativas: Security Misconfiguration subió al #2 (+3 puestos) y Software Supply Chain Failures escaló al #3 (+3), mientras que Cryptographic Failures e Injection cayeron dos puestos cada una. SSRF fue absorbido dentro de Broken Access Control, que se mantiene en el #1.
Implicaciones para equipos de desarrollo
Para los equipos técnicos, la lectura es clara: la seguridad ya no se limita al código de la aplicación. La cadena de suministro y la gestión de excepciones son ahora parte del perímetro de ataque. Las acciones prioritarias son:
Implementar SBOM y escaneo continuo de dependencias directas y transitivas.
Auditar el manejo de excepciones en cada endpoint, verificando que ningún camino de error derive en fail-open.
Revisar los pipelines de CI/CD con el mismo rigor que el código de producción.
