Este año se cumple el aniversario número 20 del Sistema de Puntuación de Vulnerabilidades Comunes (CVSS), que se ha convertido en un estándar ampliamente aceptado para describir las vulnerabilidades de software. A pesar de décadas de uso y cuatro generaciones del estándar, ahora en la versión 4.0, las reglas de puntuación del CVSS continúan utilizándose incorrectamente y el sistema en sí sigue siendo objeto de un intenso debate. Entonces, ¿qué necesitas saber sobre el CVSS para proteger tus activos de TI de manera eficaz?
La puntuación Base del CVSS
Según sus desarrolladores, el CVSS es una herramienta para describir las características y la gravedad de las vulnerabilidades del software. El Foro de Respuesta a Incidentes y Equipos de Seguridad (FIRST) se encarga del mantenimiento del CVSS. Se ha creado para ayudar a los expertos a hablar un idioma común sobre las vulnerabilidades y para facilitar el procesamiento automático de datos sobre fallos de software. Casi todas las vulnerabilidades publicadas en los principales registros de vulnerabilidades como CVE, EUVD o CNNVD incluyen una evaluación de gravedad basada en la escala CVSS.
Una evaluación generalmente consta de dos partes principales:
- Una calificación numérica (puntuación CVSS), que muestra la gravedad de la vulnerabilidad en una escala de 0 a 10. Una puntuación de 10 significa que es una vulnerabilidad crítica extremadamente peligrosa.
- Un vector, que es una cadena de texto estandarizada que describe las características clave de la vulnerabilidad. Los detalles que se incluye son si se puede aprovechar de forma remota a través de una red o solo localmente, si se necesitan privilegios elevados, cómo de complejo es explotar y qué aspectos (como la disponibilidad, integridad o confidencialidad) del sistema vulnerable se ven afectados por el aprovechamiento.
Aquí hay un ejemplo que utiliza la vulnerabilidad altamente grave y aprovechada activamente CVE-2021-44228 (Log4Shell): puntuación Base 10.0 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
Analicemos eso: el vector de ataque se basa en la red, la complejidad del ataque es baja, no hay privilegios necesarios, no se requiere interacción del usuario, el alcance indica que la vulnerabilidad afecta a otros componentes del sistema y el impacto en la confidencialidad, integridad y disponibilidad es alto. Las descripciones detalladas de cada componente están disponibles en las especificaciones CVSS 3.1 y CVSS 4.0.
Una parte crucial del sistema CVSS es su metodología de puntuación, también conocida como calculadora y disponible tanto para 4.0 como para 3.1. Al completar todos los componentes del vector, puedes obtener automáticamente una puntuación de criticidad numérica.
La metodología de cálculo original del CVSS incluía tres grupos de métricas: Base, Temporal y Ambiental (Environmental). El primer grupo cubre las características fundamentales e invariables de una vulnerabilidad y forma la base para calcular la puntuación Base del CVSS. El segundo grupo incluye características que pueden cambiar con el tiempo, como la disponibilidad del código exploit publicado. El tercer grupo está diseñado para uso organizacional interno a fin de tener en cuenta factores específicos del contexto, como el alcance de la aplicación vulnerable o la presencia de controles de seguridad mitigantes en la infraestructura de la organización. En CVSS 4.0, las métricas de Temporal se han convertido en métricas de Amenazas (Threat) y se ha introducido un nuevo grupo de métricas Complementarias (Supplemental).
Así es como se interconectan las métricas. Los proveedores de software o las empresas de ciberseguridad suelen evaluar la criticidad Base de una vulnerabilidad (denominada “CVSS-B” en la especificación 4.0). También suelen proporcionar una evaluación relacionada con la disponibilidad y la divulgación pública de un exploit (CVSS-BT en 4.0 y Temporal en 3.1). Esta evaluación es una puntuación Base modificada; por lo tanto, el CVSS-B puede ser más alto o más bajo que el CVSS-BT. En cuanto al puntaje Ambiental (CVSS-BTE), se calcula dentro de una organización específica según el CVSS-BT, con ajustes realizados para sus condiciones únicas de uso del software vulnerable.
Evolución del CVSS
Las dos primeras versiones del CVSS, lanzadas en 2005 y 2007, apenas se utilizan en la actualidad. Si bien es posible que aún encuentres puntuaciones del CVSS más antiguas para vulnerabilidades modernas, CVSS 3.1 (2019) y CVSS 4.0 (2023) son los sistemas de puntuación más comunes. Sin embargo, muchos proveedores de software y registros de vulnerabilidades no tienen prisa por adoptar la versión 4.0 y continúan proporcionando puntajes CVSS 3.1.
La idea central detrás de la primera versión de CVSS fue cuantificar la gravedad de las vulnerabilidades a través de un sistema de puntuación, con una separación inicial en métricas Base, Temporal y Ambiental. En esa etapa, las descripciones textuales se formalizaron libremente y los tres grupos de métricas se calcularon de forma independiente.
CVSS 2.0 introdujo una cadena de vectores estandarizada y una nueva lógica: una puntuación Base obligatoria e inmutable, una puntuación Temporal calculada a partir de la puntuación Base pero teniendo en cuenta los factores cambiantes, y una puntuación Ambiental utilizada dentro de organizaciones específicas y condiciones derivadas de la puntuación Base o la Temporal.
Las versiones 3.0 y 3.1 añadieron el concepto de Alcance (Scope), que es el impacto en otros componentes del sistema. También definieron con mayor precisión los parámetros relacionados con los privilegios requeridos y la interacción del usuario, y generalizaron y refinaron los valores de muchos parámetros. Más importante aún, estas versiones intentaron solidificar el hecho de que el CVSS mide la gravedad de una vulnerabilidad, no los riesgos que crea.
En la versión 4.0, los creadores tenían como objetivo hacer que la métrica CVSS fuera más útil para las evaluaciones a nivel empresarial de cómo las vulnerabilidades afectan al riesgo. Sin embargo, esta aún no es una métrica de riesgo. La complejidad del ataque se ha dividido en dos componentes distintos: requisitos del ataque y complejidad del ataque. Esto resalta la diferencia entre la dificultad de ingeniería inherente de un ataque y los factores externos o las condiciones necesarias para que el ataque tenga éxito. En términos prácticos, esto significa que un fallo que requiere una configuración específica y no predeterminada en el producto vulnerable para aprovecharla tendrá mayores requisitos de ataque y, en consecuencia, una puntuación general de CVSS más baja.
La métrica de Alcance, a menudo mal entendida, que simplemente ofrecía opciones de “sí” o “no” para “impacto en otros componentes”, ha sido reemplazada. Los desarrolladores han introducido el concepto más claro de “sistemas posteriores”, que ahora especifica a qué aspecto de su funcionamiento afecta a la vulnerabilidad. Además, se ha añadido una gama de indicadores de apoyo, como la capacidad de automatización de un exploit y el impacto del aprovechamiento en la seguridad física humana. Las propias fórmulas también han sido objeto de revisiones sustanciales. La influencia de varios componentes en la puntuación de amenaza numérica se ha reevaluado en función de una amplia base de datos de vulnerabilidades y datos de aprovechamiento del mundo real.
Cómo CVSS 4.0 está cambiando la priorización de vulnerabilidades
Para los profesionales de la ciberseguridad, CVSS 4.0 tiene como objetivo ser más práctico y relevante para las realidades actuales. Nos enfrentamos a decenas de miles de vulnerabilidades, muchas de las cuales reciben una alta puntuación de CVSS. Esto a menudo lleva a que se marquen automáticamente para su reparación inmediata en muchas organizaciones. El problema es que estas listas crecen constantemente y el tiempo promedio para reparar una vulnerabilidad es de casi siete meses.
Cuando se vuelven a evaluar las vulnerabilidades de CVSS 3.1 a CVSS 4.0, la puntuación Base para los defectos con una gravedad entre 4.0 y 9.0 tiende a aumentar levemente. Sin embargo, para las vulnerabilidades que se consideraron críticamente graves en CVSS 3.1, la puntuación a menudo permanece sin cambios o incluso disminuye. Más importante aún, mientras que la métrica Temporal tenía poco impacto en la calificación numérica de una vulnerabilidad antes, la influencia de las métricas Amenaza y Ambiental ahora es mucho más significativa. Orange Cyberdefense ha realizado un estudio para ilustrar esto. Imagina que una empresa está rastreando 8000 vulnerabilidades y sus equipos de seguridad y de TI deben corregir todos los defectos con una puntuación Base de CVSS superior a 8 dentro de un plazo de tiempo especificado.
¿Qué porcentaje de estas 8000 vulnerabilidades del mundo real entraría en esa categoría, si se considera o no la exposición del exploit al público (ajuste Temporal/de Amenaza)? El estudio ha descubierto que CVSS 4.0, en su versión base, asigna una puntuación de 8 o más a un mayor porcentaje de vulnerabilidades (el 33 % en comparación con el 18 % en la versión 3.1). Sin embargo, cuando se ajusta a la disponibilidad de exploits, este número se reduce significativamente, lo que deja menos fallos verdaderamente críticos para priorizar (el 8 % frente al 10 %).
Crítica, alta y todo lo demás
¿Cuál es la diferencia entre una vulnerabilidad “crítica” y una que es simplemente peligrosa? Una descripción de la gravedad basada en texto es parte de la especificación, pero no siempre se requiere en una descripción de la vulnerabilidad:
- Severidad baja: 0,1 a 3,9
- Severidad media: 4,0 a 6,9
- Severidad alta: 7,0 a 8,9
- Severidad crítica: 9,0 a 10,0
En la práctica, muchos proveedores de software adoptan un enfoque creativo para estas descripciones de texto. Pueden modificar los nombres o incorporar sus propias evaluaciones y factores no incluidos en el CVSS. Un ejemplo de ello es el Patch Tuesday de Microsoft de junio, específicamente CVE-2025-33064 y CVE-2025-32710. El primero se describe como “Importante” y el segundo como “Crítico”, sin embargo, sus puntajes CVSS 3.1 son 8.8 y 8.1, respectivamente.