¿Qué es CVSS?
el CVSS (Sistema de puntuación de vulnerabilidad común) califica el gravedad de una vulnerabilidad en una escala de 0 a 10. Mantenido por FIRST, produce una puntuación, una clasificación de gravedad y un “vector” reproducible. Mide el daño potencial, no la probabilidad de que ocurra.
Un aviso dice "CVSS 9.8". La gerencia pregunta si eso es peor que el 8.1 de la semana pasada. La respuesta honesta cabe en una página y comienza leyendo el vector en lugar del número.
Dos imágenes para hacerlo concreto.
CVSS es el magnitud de un terremoto. Un terremoto de magnitud 8 libera una enorme energía, ya sea que golpee una megaciudad o un desierto deshabitado. La magnitud describe el evento, nunca sus consecuencias para ti. Esa es exactamente la relación entre una puntuación CVSS y su sistema de información.
CVSS es también el hoja de especificaciones de un auto. Tiene una velocidad máxima de 250 km/h. No dice nada sobre qué tan rápido conduce, si la carretera está mojada o si alguien más tiene las llaves. Aquí dos imágenes mejor que una: la primera muestra que la partitura es intrínseca, la segunda que describe una potencial ese contexto tal vez nunca se dé cuenta.
Los cinco niveles de gravedad
La puntuación se asigna a una etiqueta cualitativa, la que aparece en los avisos:
| Puntuación CVSS | Gravedad |
|---|---|
| 0.0 | Ninguno |
| 0,1 a 3,9 | Bajo |
| 4,0 a 6,9 | Medio |
| 7,0 a 8,9 | Alto |
| 9,0 a 10,0 | Crítico |
Estos umbrales se aplican a CVSS 3.x y 4.0. El antiguo CVSS 2.0 tenía sólo tres niveles y ninguna etiqueta de "crítico": por lo tanto, el mismo defecto puede llevar dos etiquetas diferentes dependiendo de la versión utilizada para calificarlo.
Leer un vector campo por campo
La puntuación no surge de la nada: se calcula a partir de una vector, una cadena que codifica ocho decisiones. Tome el de Log4Shell (CVE-2021-44228):
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Se lee de izquierda a derecha, como una frase:
| campo | Valor | lo que significa |
|---|---|---|
AV — vector de ataque | N (red) | Explotable desde internet, sin acceso previo a la red local. |
aire acondicionado — complejidad del ataque | L (bajo) | Sin condiciones especiales: el ataque funciona siempre. |
relaciones públicas — privilegios requeridos | N (ninguno) | No se necesita cuenta. |
interfaz de usuario — interacción del usuario | N (ninguno) | Nadie tiene que hacer clic en nada. |
S — alcance | C (cambiado) | El daño se extiende más allá del componente vulnerable y alcanza lo que se encuentra detrás de él. |
C / I / A | H / H / H | Impacto total en la confidencialidad, integridad y disponibilidad. |
Puntuación resultante: 10.0. Ahora la parte que casi nadie muestra: ¿qué está cambiando? un solo campo hace:
| Cambiar | Nueva puntuación | lo que significa |
|---|---|---|
S:C → S:U (el daño permanece contenido) | 9.8 | Este es el famoso "9.8" que se ve en todas partes: ejecución remota de código no autenticado, sin cambios de alcance. |
PR:N → PR:H (se requiere una cuenta de administrador) | 9.1 | Requerir una cuenta privilegiada reduce la superficie de ataque, pero cuesta sólo alrededor de un punto: CVSS sigue siendo duro cuando los impactos son totales. |
AV:N → AV:L (se requiere acceso local) | 9.3 | Tener que estar en la máquina ya lo cambia todo en la práctica… y casi nada en la partitura. |
Compruébelo usted mismo: cada uno de estos vectores se puede recalcular en el Calculadora CVSS 3.1. Es el ejercicio de diez minutos que te lleva de “Leo un número” a “Entiendo una calificación”.
Base, amenaza, ambiental: tres capas
CVSS tiene tres grupos de métricas y la gran mayoría de las bases de datos públicas publican solo uno.
- bases: gravedad intrínseca, estable en el tiempo. Es la puntuación que ves el 99% del tiempo.
- Temporal / amenaza: se ajusta según la madurez del exploit y si existe una solución. Sólo puede inferior la puntuación base.
- Ambiental: adapta la puntuación a tu contexto: criticidad de los activos, controles de compensación, sus requisitos específicos de confidencialidad o disponibilidad.
La consecuencia directa: la puntuación que leíste en un aviso nunca fue calculada para ti. La capa ambiental, la que te concierne, es tuya para completarla, y casi nadie lo hace.
Versiones: 2.0, 3.0, 3.1 y 4.0
| Versión | que cambia | donde lo ves |
|---|---|---|
| 2.0 (2007) | Métricas más generales, sin nivel “crítico”, los impactos se califican como parciales/completos. | Archivos e informes de escáner antiguos. |
| 3.0 (2015) | Introduce la métrica de alcance (Alcance) y privilegios requeridos. | CVEs publicado entre 2016 y 2019. |
| 3.1 (2019) | Aclara el redondeo y la documentación; fórmulas idénticas a 3.0. | La gran mayoría de NVD CVEs en la actualidad. |
| 4.0 (2023) | Elimina Alcance y lo reemplaza con dos bloques de impacto: VC/VI/VA para el sistema vulnerable, SC/SI/SA para los sistemas detrás de él. Agrega requisitos de ataque (AT). | Un número creciente de avisos a proveedores. |
Lo que significa el cambio 4.0 en la práctica: una falla del hipervisor que compromete las máquinas virtuales invitadas finalmente se califica por lo que es, en lugar de encerrarse en un único indicador de “alcance cambiado”. Las cuatro versiones se pueden comparar en el calculadora.
Heartbleed 7.5, Log4Shell 10.0: lo que te dice la brecha
CVE-2014-0160 (Heartbleed) está clasificado 7.5 en CVSS 3.1 - "alto", no "crítico". Su vector asigna impacto únicamente a la confidencialidad: la falla permite que un atacante leer la memoria del servidor, sin modificar ni alterar nada. Sobre el papel, eso es menos serio que la ejecución de código.
En realidad, expuso claves privadas TLS en una gran parte de la web y desencadenó una campaña mundial de reemplazo de certificados. CVE-2021-44228 (Log4Shell), con una puntuación de 10,0, hizo aún más ruido, pero la diferencia de 2,5 puntos entre los dos no mide la diferencia en el impacto en el mundo real. CVSS califica como mecanismo, no como consecuencia.
El error que lleva más tiempo
Lo que significa para ti, en la práctica
Una regla de trabajo que cabe en cuatro líneas, lista para aplicarse el lunes:
- Nunca ordenar por CVSS solo. Úselo para romper empates, no para establecer el orden.
- Para los defectos que te afectan, lee el vector antes de la partitura:
AV:LoPR:Hen una máquina sin acceso externo a menudo significa una emergencia menos. - Complete la capa ambiental para sus diez activos más críticos, no para los otros mil. Ahí es donde el esfuerzo vale la pena.
- Registre la versión al lado de cada partitura. Un 7.0 en 2.0 y un 7.0 en 4.0 no describen lo mismo.