Cómo calcular el impacto real de una vulnerabilidad más allá del CVSS
Por Kike Gandia · Co-Fundador y CEO, OSCP
Una vulnerabilidad con CVSS 9.8 en un servidor interno sin acceso desde internet puede ser menos urgente que una con CVSS 6.5 en tu API de pagos expuesta públicamente. El CVSS base mide la gravedad teórica intrínseca de un fallo —independientemente del contexto donde aparece. Para tomar decisiones de priorización correctas, necesitas ir más allá.
El problema del CVSS base como único criterio
El CVSS base evalúa la vulnerabilidad de forma aislada: asume el peor escenario posible para el entorno de la víctima. No considera si el sistema afectado está expuesto a internet, si hay controles compensatorios activos, si procesa datos críticos o si el atacante necesita acceso previo al sistema.
El resultado es que una lista de vulnerabilidades ordenada solo por CVSS base tiene poca correlación con el riesgo real para tu negocio. Puedes estar dedicando recursos a parchear vulnerabilidades en sistemas que nadie puede alcanzar desde fuera, mientras dejas sin atender fallos con menor puntuación en sistemas críticos expuestos.
Factores de contexto que modifican el riesgo real
Para calcular el impacto real de una vulnerabilidad, añade estos factores al CVSS base:
- Exposición del sistema: ¿está expuesto a internet, a la red interna, o solo a usuarios autenticados? Una vulnerabilidad explotable solo desde internet tiene un impacto potencial muy diferente a una explotable solo desde la red interna.
- Criticidad de los datos: ¿el sistema procesa datos personales (GDPR), financieros (PCI-DSS), de salud, o datos no sensibles?
- EPSS: ¿hay exploits activos para esta vulnerabilidad en circulación? Un EPSS alto indica explotación activa o inminente.
- Compensating controls: ¿hay WAF, IDS, segmentación de red, rate limiting o monitorización activa que reduce la probabilidad o el impacto de la explotación?
- Dependencias: ¿si este sistema cae, qué otros sistemas se ven afectados?
CVSS ambiental: cómo incorporar el contexto al scoring
CVSS incluye métricas ambientales (Environmental Metrics) que permiten ajustar la puntuación base según las características de tu entorno. Las más relevantes son:
- Confidentiality Requirement (CR): ¿cuán importante es la confidencialidad de los datos en este sistema? Si es crítica, sube la puntuación.
- Integrity Requirement (IR): ¿cuán importante es la integridad de los datos?
- Availability Requirement (AR): ¿cuán crítica es la disponibilidad del sistema?
Además, puedes ajustar las métricas de explotabilidad si hay controles compensatorios activos (por ejemplo, si el WAF bloquea el vector de ataque específico).
El resultado es una puntuación ajustada al entorno que es más útil para priorización que el CVSS base puro.
Framework práctico para evaluar impacto real en 5 minutos
Para cada vulnerabilidad reportada, responde estas cinco preguntas:
1. ¿Puede un atacante externo llegar hasta este sistema? (Exposición)
2. ¿Qué datos tiene acceso el atacante si explota esto? (Criticidad de datos)
3. ¿Hay explotación activa de este tipo de fallo? (EPSS)
4. ¿Hay controles que dificulten o mitiguen la explotación? (Compensating controls)
5. ¿Qué impacto tendría en el negocio si esto se explota hoy? (Business impact)
Con estas respuestas puedes clasificar la vulnerabilidad en tres bandas: crítica para mi entorno, importante pero no urgente, o bajo riesgo real independientemente del CVSS.
FAQ
¿El CVSS ambiental cambia mucho la puntuación base?
Puede cambiar significativamente. Una vulnerabilidad con CVSS base 8.5 en un sistema interno con datos no sensibles y sin exposición a internet puede bajar a 5.0-6.0 con las métricas ambientales ajustadas. A la inversa, una vulnerabilidad con CVSS base 6.0 en un sistema crítico con datos de alto valor puede subir a 8.0+.
¿Cómo incluyo el contexto de negocio en el scoring sin hacer subjetivo el proceso?
La clave es definir previamente los criterios: qué sistemas son críticos, qué datos requieren qué nivel de protección, qué controles compensatorios están activos. Si estos criterios están documentados, el scoring ambiental deja de ser subjetivo y se convierte en un proceso reproducible y auditables.
¿Puedo usar EPSS para todas las vulnerabilidades o solo para CVEs?
EPSS solo existe para vulnerabilidades con CVE asignado. Para vulnerabilidades de lógica de negocio o fallos específicos de tu aplicación que no tienen CVE, no hay EPSS disponible. En esos casos, el impacto real se evalúa exclusivamente con los factores de contexto (exposición, datos, controles).
Servicio relacionado
servicio de validación y priorización de vulnerabilidades
Contenido relacionado
- CVSS vs EPSS: cuál usar
- Cómo priorizar un backlog de vulnerabilidades
- Validación técnica de vulnerabilidades