Cheatsheet

Guía rápida de CVSS v3.1

Referencia para calificar hallazgos de forma consistente — directamente relevante para verify_finding_severity, que chequea si la severidad asignada es plausible dado lo que describe la evidencia. Si un hallazgo queda marcado para revisar, esta es la lógica contra la que probablemente no calzó.

Las 8 métricas base

Vector de explotabilidad (qué tan fácil es explotar):

  • AV (Attack Vector): Network / Adjacent / Local / Physical — ¿necesita estar en la misma red?
  • AC (Attack Complexity): Low / High — ¿requiere condiciones especiales fuera del control del atacante (race condition, MITM)?
  • PR (Privileges Required): None / Low / High — ¿necesita estar autenticado, y con qué rol?
  • UI (User Interaction): None / Required — ¿necesita que la víctima haga algo (click, abrir un link)?

Impacto (qué se rompe si se explota):

  • C (Confidentiality): None / Low / High — ¿expone datos?
  • I (Integrity): None / Low / High — ¿permite modificar datos/comportamiento?
  • A (Availability): None / Low / High — ¿tumba el servicio?

Scope:

  • S (Scope): Unchanged / Changed — ¿el impacto se queda dentro del componente vulnerable, o se escapa a otro (ej. un XSS en la app afecta la sesión del navegador, que es OTRO "componente de seguridad")? Scope Changed sube el score significativamente.

Bandas de severidad (las que usa Argus)

Score Banda
9.0 – 10.0 Crítica
7.0 – 8.9 Alta
4.0 – 6.9 Media
0.1 – 3.9 Baja
0.0 Informativa

Errores comunes de calificación (lo que verify_finding_severity está pensado para atrapar)

  • Sobre-calificar exposición de información sin impacto directo — una versión de software visible en un banner HTTP es información, no una vulnerabilidad por sí sola: no tiene AV/AC/PR/UI que justifiquen C/I/A altos. Es "informativa" o "baja" salvo que ese componente tenga un CVE conocido asociado (ahí el CVE es el hallazgo, con SU propio CVSS).
  • Sub-calificar por "es solo un puerto abierto" — un puerto expuesto que no debería estarlo, en un servicio con historial de CVEs graves, sí merece severidad real aunque hoy no haya un exploit confirmado.
  • Confundir "difícil de explotar en teoría" con AC:High real — AC:High es para condiciones que el atacante NO controla (una race condition angosta, requerir estar en la ruta de red exacta). Que requiera varios pasos manuales no es lo mismo que Attack Complexity alta.
  • Ignorar Scope Changed — un XSS reflejado que termina robando la sesión de un admin desde OTRO contexto de seguridad (el navegador de la víctima) es Scope Changed, no Unchanged — el score sube bastante más de lo que la intuición sugiere para "solo un XSS".

CVSS no es todo — por qué Argus también mira EPSS/KEV

Un CVSS 9.8 sin exploit público y sin explotación activa conocida es, en términos de riesgo REAL hoy, distinto de un CVSS 7.5 que está en el catálogo CISA KEV (explotación activa confirmada). lookup_cve trae EPSS (probabilidad de explotación en los próximos 30 días) + KEV — la priorización de remediación debería mirar los tres números juntos, no solo CVSS.

Relacionado

  • [[_Cheatsheets — índice]]