Saltar al contenido
← Volver al blog
3 min es

Priorizar CVEs sin fiarse solo del CVSS

Un CVSS de 9.8 puede ser irrelevante y uno de 6.5 una emergencia. Cómo cruzo NVD, el catálogo KEV de CISA y la probabilidad de EPSS para decidir qué vulnerabilidad se parchea primero, y cómo lo automaticé para que no dependa de que yo me acuerde de mirarlo.

  • cve
  • vulnerabilidades
  • nvd
  • epss
  • gestion-de-riesgo
Priorizar CVEs sin fiarse solo del CVSS

El error que más veces he visto, y que cometí yo también al principio, es ordenar una lista de CVEs por CVSS y llamar a eso priorización. El CVSS mide gravedad técnica en abstracto. No dice si alguien está explotando ese fallo ahora mismo. Son preguntas distintas, y tratarlas como si fueran la misma hace que se gasten semanas en un CVE de 9.8 que nadie usa mientras uno de 6.5 se explota activamente.

Tres fuentes, tres preguntas distintas

Cada una de las siguientes responde algo que las otras dos no saben:

  • NVD responde que es el fallo: CVSS, CWE, y la versión que lo corrige.
  • CISA KEV responde si se está explotando de verdad, ahora mismo, confirmado.
  • EPSS responde la probabilidad de que se explote en los próximos 30 días, aunque todavía no esté en KEV.

Ninguna sustituye a las otras dos. NVD sin las otras da listas larguísimas sin orden real. KEV solo es binario: dentro o fuera. EPSS solo es un número sin contexto de que corrige.

El criterio que aplico

Con las tres cruzadas, el orden queda así, sin excepciones:

  1. Si esta en KEV, va primero. Da igual el CVSS.
  2. Si no está en KEV pero el EPSS es alto, va después. Es la señal de que empieza a explotarse.
  3. CVSS alto con EPSS bajo y fuera de KEV puede esperar al ciclo normal de parcheo.

La sorpresa la primera vez que aplico esto sobre un tenant real siempre es la misma: la lista final no se parece nada a la que sale de ordenar solo por CVSS.

Por qué lo automaticé

Cruzar tres fuentes a mano cada mes no escala, y es justo el tipo de tarea que se salta cuando hay prisa, que es precisamente cuando más falta hace. Lo integré en el generador de informes que uso para los clientes: cada CVE que aparece se enriquece automáticamente contra las tres fuentes antes de entrar en el documento, con cache en disco para no volver a preguntar por un CVE que ya se consultó. El código está publicado si a alguien le sirve de referencia.

Lo que ninguna de las tres sabe

Ni NVD, ni KEV, ni EPSS saben si el activo afectado es un portátil de pruebas o un controlador de dominio. Eso solo lo sabe quien conoce la red. La automatización ordena por señal técnica; el contexto de negocio lo sigue poniendo una persona, y ahí es donde de verdad se decide qué se parchea esta semana y qué espera al mes que viene.

Relacionado: automaticé la vigilancia del propio catálogo KEV para no depender de acordarme de consultarlo.