OWASP Top 10: vulnerabilidades más críticas

  • Inicio
  • Blog
  • OWASP Top 10: vulnerabilidades más críticas

Contenido

OWASP Top 10: las vulnerabilidades web más críticas

El OWASP Top 10 es una lista publicada por la Open Web Application Security Project (OWASP) que identifica las diez categorías de riesgos de seguridad más críticos en aplicaciones web. Se actualiza cada tres o cuatro años con base en datos de incidentes reales y encuestas a la comunidad de seguridad global. La edición vigente es la de 2021, que establece el estándar de referencia para el desarrollo seguro y las auditorías de aplicaciones.

¿Qué es el OWASP Top 10?

OWASP (Open Web Application Security Project) es una fundación sin fines de lucro que produce recursos de seguridad de aplicaciones de acceso libre. Su proyecto Top 10 es el más utilizado del mundo como punto de partida para medir el nivel de seguridad de una aplicación web. No es una norma regulatoria en sí misma, pero marcos como PCI-DSS, ISO 27001 y varios requisitos sectoriales lo referencian directamente. El desarrollo seguro de software incluye el OWASP Top 10 como base mínima de controles a implementar desde las primeras etapas del ciclo de vida del software.

Las 10 vulnerabilidades más críticas (OWASP 2021)

La lista 2021 reorganizó las categorías anteriores e incorporó tres nuevas: Diseño inseguro, Fallos de integridad de software y datos, y SSRF. A continuación, una descripción técnica de cada categoría con controles de mitigación.

A01 — Control de acceso roto (Broken Access Control)

El control de acceso roto es la categoría más crítica del OWASP 2021. Ocurre cuando un usuario puede acceder a recursos o funciones para las que no tiene autorización: ver datos de otros usuarios, modificar registros ajenos o ejecutar operaciones privilegiadas. La mitigación exige implementar el principio de mínimo privilegio, validar los permisos en el servidor en cada solicitud y no depender del cliente para tomar decisiones de acceso.

A02 — Fallos criptográficos

Los fallos criptográficos incluyen el uso de algoritmos débiles (MD5, SHA-1, DES), la transmisión de datos sensibles sin cifrado (HTTP en lugar de HTTPS) y el almacenamiento de contraseñas en texto plano. La mitigación requiere usar TLS 1.2 o superior, algoritmos de cifrado modernos (AES-256, RSA-2048) y funciones de hashing seguras para contraseñas como bcrypt o Argon2.

A03 — Inyección (SQL, NoSQL, LDAP)

Las vulnerabilidades de inyección permiten que un atacante inserte comandos maliciosos en una consulta o instrucción del sistema. La inyección SQL es la más conocida: permite leer, modificar o eliminar datos de la base de datos. La mitigación consiste en usar consultas parametrizadas (prepared statements), validar y sanear toda entrada del usuario, y aplicar el principio de mínimo privilegio a las cuentas de base de datos.

A04 — Diseño inseguro

El diseño inseguro es una categoría nueva en 2021 que describe fallos en la arquitectura y el modelado de amenazas de la aplicación, no en su implementación. Un sistema puede tener código correcto y aun así ser inseguro si el diseño no contempla controles de seguridad desde el inicio. La mitigación incluye realizar modelado de amenazas (threat modeling) en la fase de diseño, adoptar patrones de diseño seguro y ejecutar revisiones de arquitectura con equipos de seguridad.

A05 — Configuración incorrecta de seguridad

Las configuraciones incorrectas son la causa más frecuente de brechas en entornos de nube y servidores. Incluyen permisos excesivos, puertos abiertos innecesarios, credenciales por defecto activas y mensajes de error que revelan información del sistema. La mitigación exige automatizar la validación de configuraciones con herramientas de hardening y aplicar benchmarks como CIS Benchmarks.

A06 — Componentes vulnerables y desactualizados

Las aplicaciones modernas dependen de librerías de terceros, frameworks y dependencias que pueden contener vulnerabilidades conocidas. Usar una versión desactualizada de una librería popular puede exponer la aplicación a exploits públicos. La mitigación requiere un inventario de dependencias actualizado, integrar análisis de composición de software (SCA) en el pipeline de CI/CD y actualizar componentes con prontitud tras la publicación de parches.

A07 — Fallos de identificación y autenticación

Los fallos de autenticación permiten que un atacante comprometa contraseñas, tokens de sesión o credenciales de API. Incluyen ataques de fuerza bruta, sesiones que no expiran y almacenamiento inseguro de credenciales. La mitigación incluye implementar autenticación multifactor (MFA), limitar los intentos de inicio de sesión, usar tokens de sesión con expiración corta y almacenar contraseñas con hashing seguro.

A08 — Fallos de integridad de software y datos

Esta categoría nueva en 2021 abarca la deserialización insegura y los ataques a la cadena de suministro de software. Un atacante que compromete el proceso de build o los repositorios de paquetes puede introducir código malicioso que se distribuye automáticamente a todos los usuarios. La mitigación incluye verificar la integridad de las dependencias con sumas de comprobación (hashes), usar registros privados de paquetes y firmar artefactos de build.

A09 — Fallos de registro y monitoreo

Sin logs suficientes y alertas en tiempo real, los atacantes pueden operar durante semanas o meses sin ser detectados. Esta categoría incluye la ausencia de registros de eventos de seguridad, logs que no se monitorean y la falta de alertas ante patrones anómalos. La mitigación exige implementar logging centralizado, retención de logs suficiente para análisis forense y alertas automáticas ante eventos sospechosos.

A10 — Falsificación de solicitudes del lado del servidor (SSRF)

El SSRF (Server-Side Request Forgery) permite que un atacante haga que el servidor realice solicitudes HTTP a destinos arbitrarios, incluyendo servicios internos que no deberían ser accesibles desde el exterior. Es especialmente crítico en entornos de nube donde los metadatos de instancias son accesibles vía HTTP interno. La mitigación incluye validar y restringir las URLs que la aplicación puede solicitar, y bloquear el acceso a rangos de IP internos desde las funciones que realizan solicitudes HTTP salientes.

¿Cómo proteger tu aplicación contra el OWASP Top 10?

La protección efectiva contra el OWASP Top 10 requiere un enfoque integrado que combine controles técnicos y procesos. Los controles técnicos fundamentales incluyen: validación de entrada en servidor para toda solicitud, implementación del principio de mínimo privilegio en accesos y permisos, actualización continua de dependencias y librerías, y cifrado en tránsito y en reposo para datos sensibles.

En el plano de procesos, las organizaciones deben incorporar la seguridad desde el diseño (mediante modelado de amenazas), ejecutar pruebas de seguridad periódicas con detección de vulnerabilidades automatizada y revisiones manuales especializadas, y establecer procedimientos de respuesta ante incidentes.

Para validar que tus aplicaciones no presentan las vulnerabilidades del OWASP Top 10, un pentest realizado por especialistas es la forma más efectiva de obtener evidencia técnica para equipos de desarrollo, dirección y auditores externos.

Publicado el

Mario Robles

CEO & Founder

Hacker Ético con más de 20 años de experiencia, creador de herramientas de ciberseguridad, ex-líder de OWASP Costa Rica y miembro activo de Cybersec Cluster y el capítulo de ciberseguridad de CAMTIC.

También te podría interesar

Vulnerabilidades de software comunes y cómo prevenirlas

Conoce los tipos de vulnerabilidades de software más explotadas, qué impacto tienen en tu negocio y cómo prevenirlas durante el desarrollo.

Leer: Vulnerabilidades de software comunes ...

¿Qué es el desarrollo seguro de software para empresas?

Aprende qué es el desarrollo seguro de software (SDLC seguro), por qué es clave para PCI-DSS y cómo capacitar a tu equipo de desarrollo.

Leer: ¿Qué es el desarrollo seguro de softw...

Qué es el desarrollo seguro de software y por qué importa

Aprende qué es el desarrollo seguro de software (Secure SDLC), sus componentes, por qué la seguridad en el código es crítica y cómo implementarlo.

Leer: Qué es el desarrollo seguro de softwa...
Este sitio web utiliza cookies para mejorar su experiencia, puede consultar nuestra política de privacidad.