VEX para Cumplimiento CRA: Guía de Intercambio de Explotabilidad de Vulnerabilidades

Cómo usar documentos VEX para cumplimiento del CRA. Cubre formatos VEX, tipos de estado, Integración con SBOM y ejemplos practicos para comunicar la aplicabilidad de vulnerabilidades.

Equipo CRA Evidence
Autor
14 de enero de 2026
Actualizado 25 de febrero de 2026, 0:00:00 UTC
12 min de lectura
VEX para Cumplimiento CRA: Guía de Intercambio de Explotabilidad de Vulnerabilidades
In this article

No todas las vulnerabilidades en tu SBOM afectan a tu producto. VEX (Vulnerability Exploitability eXchange - Intercambio de Explotabilidad de Vulnerabilidades) te permite comunicar cuales vulnerabilidades realmente aplican a tu producto y contexto especifico. Para el cumplimiento del CRA, VEX ayuda a demostrar Qué has evaluado las vulnerabilidades y abordado las Qué importan.

Esta Guía explica Cómo usar VEX efectivamente.

Información: VEX (Vulnerability Exploitability eXchange) te permite comunicar cuáles vulnerabilidades en tu SBOM realmente afectan a tu producto -- y cuáles no. Es esencial para cumplir el requisito CRA de "sin vulnerabilidades explotables conocidas".

Resumen Ejecutivo

  • VEX = Declaración legible por maquina sobre la aplicabilidad de vulnerabilidades
  • Responde: "¿El CVE-XXXX afecta a MI producto?"
  • Cuatro estados: No Afectado, Afectado, Corregido, Bajo Investigacion
  • Complementa al SBOM, el SBOM lista componentes, VEX evalua vulnerabilidades
  • CycloneDX VEX y CSAF VEX son los formatos principales
  • Esencial para el requisito del CRA de "sin vulnerabilidades explotables conocidas"

Flujo de estados VEX — No afectado, En investigación, Afectado, Corregido

¿Qué Es VEX?

El Problema Qué VEX Resuelve

Cuando escaneas un SBOM, obtienes una lista de vulnerabilidades en componentes:

RESULTADOS DE ESCANEO SBOM (Tipico):

Componente: openssl 1.1.1k
  - CVE-2021-3711 (Critico)
  - CVE-2021-3712 (Alto)
  - CVE-2022-0778 (Alto)

Componente: zlib 1.2.11
  - CVE-2018-25032 (Alto)

Componente: libxml2 2.9.10
  - CVE-2021-3517 (Alto)
  - CVE-2021-3518 (Alto)
  - CVE-2022-23308 (Medio)

TOTAL: 8 vulnerabilidades encontradas

PERO ESPERA...
- ¿Todas estas realmente afectan a tu producto?
- ¿Se usa la ruta de codigo vulnerable?
- ¿Ya has mitigado algunas?
- ¿Algunas no son explotables en tu contexto?

VEX responde estas preguntas.

Definicion de VEX

VEX (Vulnerability Exploitability eXchange) es un formato estandarizado para comunicar:

  • Si una vulnerabilidad afecta a un producto especifico
  • Por Qué o por Qué no
  • Qué acciones (si las hay) son necesarias
  • Estado actual de la Evaluación

Tipos de Estado VEX

OPCIONES DE ESTADO VEX

NO AFECTADO:
"Esta vulnerabilidad no afecta a nuestro producto"
- Codigo vulnerable no presente
- función vulnerable no llamada
- Plataforma no aplicable
- Mitigado por Configuración

AFECTADO:
"Esta vulnerabilidad afecta a nuestro producto"
- Requiere accion
- Puede incluir mitigaciones recomendadas
- Indica severidad en contexto

CORREGIDO:
"Esta vulnerabilidad fue corregida"
- En version especifica
- Detalles de la correccion proporcionados
- Recomendacion de actualizacion

BAJO INVESTIGACION:
"Todavia estamos evaluando esto"
- Estado aun no determinado
- Investigacion en curso
- Estado temporal

VEX y Requisitos del CRA

Requisitos de Vulnerabilidad del CRA

El CRA requiere Qué los fabricantes:

  1. Sin vulnerabilidades explotables conocidas (al comercializar)
  2. Manejar vulnerabilidades durante el periodo de soporte
  3. Proporcionar actualizaciones de seguridad para corregir vulnerabilidades
  4. Reportar vulnerabilidades activamente explotadas a ENISA (24h)
  5. Reportar vulnerabilidades severas a ENISA (72h)

Cómo VEX Apoya al CRA

VEX PARA CUMPLIMIENTO CRA

REQUISITO: Sin vulnerabilidades explotables conocidas

ROL DE VEX:
- Documentar la Evaluación de vulnerabilidades
- Mostrar cuales CVEs fueron evaluados
- Demostrar determinaciones de "no afectado"
- Evidencia para expediente tecnico

REQUISITO: Manejar vulnerabilidades

ROL DE VEX:
- Rastrear cambios de estado de vulnerabilidades
- Documentar progresion "afectado"  "corregido"
- Comunicar con clientes
- Mantener pista de auditoria

REQUISITO: Actualizaciones de seguridad

ROL DE VEX:
- Documentar Qué se corrigio en cada actualizacion
- Proporcionar informacion "corregido en version X"
- Herramienta de comunicacion con clientes

REQUISITO: Reporte a ENISA

ROL DE VEX:
- La pre-Evaluación ayuda a determinar reportabilidad
- "Afectado" + "activamente explotado" = reportar
- Documentación para precision del reporte

Consejo: CycloneDX tiene soporte nativo para VEX. Si ya estás generando SBOMs CycloneDX, agregar datos VEX es sencillo.

Formatos VEX

CycloneDX VEX

CycloneDX incluye capacidad VEX Cómo parte del formato SBOM:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "vulnerabilities": [
    {
      "id": "CVE-2021-3711",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "not_affected",
        "justification": "code_not_present",
        "detail": "Nuestro producto usa OpenSSL pero no usa la funcionalidad SM2 donde existe esta vulnerabilidad. SM2 no esta compilado en nuestra build."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ]
    },
    {
      "id": "CVE-2022-0778",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "affected",
        "detail": "El producto esta afectado al procesar certificados no confiables. Corregido en version 2.1.0."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ],
      "recommendation": "Actualizar a la version 2.1.0 o posterior del producto"
    }
  ]
}

CSAF VEX

CSAF (Common Security Advisory Framework) proporciona un formato de documento VEX independiente:

{
  "document": {
    "category": "csaf_vex",
    "title": "Evaluación de Seguridad del Producto para CVE-2021-3711",
    "publisher": {
      "category": "vendor",
      "name": "Empresa Ejemplo"
    },
    "tracking": {
      "id": "EX-2024-001",
      "status": "final",
      "version": "1.0.0",
      "current_release_date": "2024-01-15T10:00:00Z"
    }
  },
  "product_tree": {
    "branches": [
      {
        "category": "product_name",
        "name": "Smart Sensor Pro",
        "product": {
          "product_id": "SSP-2.0",
          "name": "Smart Sensor Pro 2.0"
        }
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2021-3711",
      "product_status": {
        "known_not_affected": ["SSP-2.0"]
      },
      "flags": [
        {
          "label": "vulnerable_code_not_present",
          "product_ids": ["SSP-2.0"]
        }
      ],
      "notes": [
        {
          "category": "description",
          "text": "La funcionalidad SM2 no esta incluida en nuestra build de OpenSSL."
        }
      ]
    }
  ]
}

OpenVEX

OpenVEX es un formato VEX mas simple y enfocado:

{
  "@context": "https://openvex.dev/ns/v0.2.0",
  "@id": "https://ejemplo.com/vex/2024-001",
  "author": "Equipo de Seguridad Empresa Ejemplo",
  "timestamp": "2024-01-15T10:00:00Z",
  "statements": [
    {
      "vulnerability": {
        "@id": "CVE-2021-3711"
      },
      "products": [
        {
          "@id": "pkg:generic/smart-sensor-pro@2.0"
        }
      ],
      "status": "not_affected",
      "justification": "vulnerable_code_not_present",
      "impact_statement": "La funcionalidad criptografica SM2 no esta compilada en la build de OpenSSL de nuestro producto."
    }
  ]
}

Creando Declaraciones VEX

Proceso de Evaluación

FLUJO DE TRABAJO DE Evaluación VEX

PASO 1: IDENTIFICAR VULNERABILIDAD
- De resultados de escaneo SBOM
- De aviso de seguridad
- De reporte de cliente
- De Notificación ENISA

PASO 2: ANALIZAR APLICABILIDAD
Preguntas a responder:
- ¿Esta el componente vulnerable en nuestro producto?
- ¿Esta presente la version vulnerable?
- ¿Se usa la ruta de codigo vulnerable?
- ¿Es la vulnerabilidad explotable en nuestro contexto?
- ¿Ya existen mitigaciones?

PASO 3: DETERMINAR ESTADO
Basado en el analisis:
- NOT_AFFECTED: La vulnerabilidad no aplica
- AFFECTED: La vulnerabilidad aplica, se necesita accion
- FIXED: Estaba afectado, ahora remediado
- UNDER_INVESTIGATION: Todavia evaluando

PASO 4: DOCUMENTAR JUSTIFICACION
Para NOT_AFFECTED, especificar por Qué:
- vulnerable_code_not_present
- vulnerable_code_cannot_be_controlled_by_adversary
- vulnerable_code_not_in_execute_path
- inline_mitigations_already_exist

PASO 5: CREAR DOCUMENTO VEX
- Usar el formato elegido
- Incluir todos los campos requeridos
- Versionar y fechar el documento
- Firmar si es posible

Tipos de Justificacion

JUSTIFICACIONES NOT_AFFECTED

VULNERABLE_CODE_NOT_PRESENT:
"El codigo vulnerable no esta incluido en nuestra build"
Ejemplo: OpenSSL compilado sin soporte SM2

VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY:
"Un atacante no puede alcanzar el codigo vulnerable"
Ejemplo: función solo llamada con datos internos confiables

VULNERABLE_CODE_NOT_IN_EXECUTE_PATH:
"La función vulnerable nunca se llama"
Ejemplo: Libreria incluida pero función especifica no usada

INLINE_MITIGATIONS_ALREADY_EXIST:
"Otros controles previenen la explotacion"
Ejemplo: WAF bloquea el vector de ataque, sandboxing limita impacto

Ejemplos de Evaluación

EJEMPLO 1: No Afectado (Codigo No Presente)

Vulnerabilidad: CVE-2021-3711 (desbordamiento de buffer SM2 de OpenSSL)
Componente: openssl 1.1.1k
Evaluación: Nuestro producto usa OpenSSL solo para TLS.
            SM2 es un estandar criptografico chino Qué no usamos.
            Nuestra build explicitamente deshabilita SM2: ./config no-sm2
Estado: NOT_AFFECTED
Justificacion: vulnerable_code_not_present

EJEMPLO 2: No Afectado (No en Ruta de Ejecucion)

Vulnerabilidad: CVE-2022-23308 (use-after-free de libxml2)
Componente: libxml2 2.9.10
Evaluación: Vulnerabilidad en Evaluación XPath con namespaces.
            Nuestro producto solo usa libxml2 para parsing XML simple.
            Nunca usamos funcionalidad XPath.
Estado: NOT_AFFECTED
Justificacion: vulnerable_code_not_in_execute_path

EJEMPLO 3: Afectado

Vulnerabilidad: CVE-2022-0778 (bucle infinito OpenSSL)
Componente: openssl 1.1.1k
Evaluación: Nuestro producto procesa certificados TLS de
            fuentes potencialmente no confiables. La vulnerabilidad
            permite DoS via certificado malicioso.
Estado: AFFECTED
Recomendacion: Actualizar a version 2.1.0 del producto (OpenSSL 1.1.1n)

EJEMPLO 4: Corregido

Vulnerabilidad: CVE-2022-0778 (bucle infinito OpenSSL)
Componente: openssl (era 1.1.1k, ahora 1.1.1n)
Evaluación: Corregido en version 2.1.0 del producto
Estado: FIXED
Version Corregida: 2.1.0

Flujo de Trabajo VEX para CRA

Evaluación Continua

PROCESO VEX CONTINUO

DIARIO/SEMANAL:
1. Escanear SBOM por nuevas vulnerabilidades
2. Priorizar por severidad
3. Comenzar Evaluación de criticas/altas

PARA CADA VULNERABILIDAD:
1. Analisis tecnico
2. Determinar estado
3. Crear/actualizar Declaración VEX
4. Si AFFECTED: planificar remediacion

CUANDO SE CORRIGE:
1. Actualizar estado VEX a FIXED
2. Referenciar version de correccion
3. Notificar a clientes
4. Actualizar expediente tecnico

PARA REPORTE A ENISA:
1. AFFECTED + activamente explotado  Reportar 24h
2. AFFECTED + severo  Reportar 72h
3. Incluir VEX en contexto del reporte

Integración con SBOM

Integración SBOM + VEX

OPCION 1: VEX Embebido (CycloneDX)
- Datos VEX dentro del documento SBOM
- Un solo archivo para componentes + vulnerabilidades
- Actualizar SBOM cuando cambia VEX

OPCION 2: VEX Vinculado
- Documento VEX separado
- Referencias componentes del SBOM
- Se puede actualizar independientemente

OPCION 3: Avisos CSAF
- Avisos de seguridad independientes
- Publicados en pagina de seguridad
- Legibles por maquina para automatizacion

RECOMENDACION PARA CRA:
- Usar VEX embebido para expediente tecnico (registro completo)
- Publicar avisos CSAF para comunicacion con clientes
- Mantener ambos, sincronizados

Comunicacion con Clientes

VEX PARA COMUNICACION CON CLIENTES

ESCENARIO: Cliente pregunta "¿CVE-XXXX afecta a su producto?"

CON VEX:
1. Consultar base de datos VEX por la vulnerabilidad
2. Proporcionar estado inmediatamente
3. Si NOT_AFFECTED: compartir justificacion
4. Si AFFECTED: proporcionar orientacion de remediacion
5. Si UNDER_INVESTIGATION: proporcionar cronograma

BENEFICIOS:
- Respuestas consistentes en el equipo de soporte
- Justificaciones pre-preparadas
- Tiempo de respuesta mas rapido
- Debida diligencia demostrable

VEX en el Expediente Tecnico

Enfoque de Documentación

sección VEX DEL EXPEDIENTE TECNICO

sección: Evaluación de Vulnerabilidades (VEX)

CONTENIDOS:
1. Descripcion de metodologia VEX
2. Documento VEX actual (todos los productos)
3. Actualizaciones VEX historicas (pista de auditoria)
4. Evidencia de justificacion no-afectado

EJEMPLO DE ENTRADA:
"A fecha de [fecha], las siguientes vulnerabilidades han sido
evaluadas para [Nombre del Producto] version [X.Y.Z]:

Total de CVEs en dependencias de componentes: 47
- No Afectados: 41
- Corregidos: 4
- Bajo Investigacion: 2
- Afectados (con mitigacion): 0

Documento VEX: [enlace/adjunto]
Ultima actualizacion: [fecha]"

Evidencia de "Sin Vulnerabilidades Explotables Conocidas"

EVIDENCIA DE CUMPLIMIENTO CRA

AFIRMACION: El producto no tiene vulnerabilidades explotables conocidas

EVIDENCIA (basada en VEX):
1. Resultados de escaneo SBOM (fechados)
2. Evaluación VEX cubriendo todos los hallazgos
3. Para cada "No Afectado": justificacion
4. Para cada "Corregido": informacion de version
5. Para "Bajo Investigacion": cronograma/estado

PISTA DE AUDITORIA:
- ¿Cuando fue evaluado cada CVE?
- ¿Quién realizo la Evaluación?
- ¿Cual fue la justificacion?
- ¿Cuando se actualizo el estado?

Herramientas y Automatizacion

Herramientas de Generacion VEX

OPCIONES DE HERRAMIENTAS VEX

SBOM + COINCIDENCIA DE VULNERABILIDADES:
- Grype (Anchore) - genera VEX
- Trivy - escaneo de vulnerabilidades con salida VEX
- OWASP Dependency-Track - soporte VEX

AUTORIA VEX:
- CycloneDX CLI - crear/validar VEX
- herramientas CSAF - crear documentos CSAF VEX
- herramientas OpenVEX - creacion VEX simple

AUTOMATIZACION:
- Integración CI/CD para escaneo
- Estado automatico "bajo investigacion"
- Revision manual para estado final

Estrategia de Automatizacion

ENFOQUE DE AUTOMATIZACION VEX

AUTOMATIZADO:
- Escaneo SBOM por nuevos CVEs
- Estado inicial "bajo investigacion"
- Notificación al equipo de seguridad
- Verificaciones basicas de aplicabilidad

SEMI-AUTOMATIZADO:
- Sugerencias de analisis de ruta de codigo
- Coincidencia de patrones historicos
- Busqueda de estado de productos similares

MANUAL (Requerido):
- Determinacion final de estado
- Escritura de justificacion
- Comunicaciones orientadas al cliente
- Decisiones de reporte a ENISA

Desafios Comunes

Desafio: Volumen de CVEs

Problema: Los escaneos SBOM devuelven cientos de CVEs.

Soluciones:

  • Priorizar por severidad (Critico/Alto primero)
  • Usar automatizacion para triaje inicial
  • Construir plantillas de justificacion para patrones comunes
  • Enfocarse en componentes Qué controlas

Desafio: Dificultad del Analisis Tecnico

Problema: Dificil determinar si se usa el codigo vulnerable.

Soluciones:

  • Trabajar con el equipo de desarrollo
  • Usar herramientas de analisis estatico
  • Documentar incertidumbre apropiadamente
  • Enfoque conservador: en caso de duda, tratar Cómo afectado

Desafio: Mantener VEX Actualizado

Problema: El estado de vulnerabilidades cambia con el tiempo.

Soluciones:

  • Automatizar re-escaneo de SBOM
  • Revisiones VEX programadas
  • Actualizaciones basadas en disparadores (nuevo CVE, nueva version)
  • Versionar tus documentos VEX

Lista de Verificación VEX

LISTA DE Verificación DE IMPLEMENTACION VEX

Configuración:
[ ] Formato VEX elegido (CycloneDX VEX recomendado)
[ ] Proceso de Evaluación definido
[ ] Responsabilidad asignada
[ ] Herramientas configuradas

Evaluación INICIAL:
[ ] SBOM escaneado por vulnerabilidades
[ ] Priorizado por severidad
[ ] Cada vulnerabilidad evaluada
[ ] Justificaciones documentadas

PROCESO CONTINUO:
[ ] Cronograma de re-escaneo SBOM regular
[ ] Monitoreo de nuevos CVEs
[ ] SLA de Evaluación (p.ej., Critico: 24h)
[ ] Actualizaciones de documento VEX

Documentación:
[ ] VEX incluido en expediente tecnico
[ ] Historial de versiones mantenido
[ ] Justificaciones detalladas
[ ] Publicacion orientada al cliente

Integración:
[ ] Vinculado al SBOM
[ ] Proceso de comunicacion con clientes
[ ] Flujo de trabajo de reporte a ENISA
[ ] Notas de version de actualizaciones

Recursos Clave

RECURSOS VEX

ESTANDARES:
CycloneDX VEX: https://cyclonedx.org/capabilities/vex/
CSAF: https://docs.oasis-open.org/csaf/
OpenVEX: https://openvex.dev

ORIENTACION:
CISA VEX Status Justifications
NTIA VEX Minimum Elements

HERRAMIENTAS:
Grype: https://github.com/anchore/grype
Trivy: https://aquasecurity.github.io/trivy/
CycloneDX CLI: https://github.com/CycloneDX/cyclonedx-cli

Cómo Ayuda CRA Evidence

CRA Evidence proporciona soporte VEX integral:

  • VEX integrado: Gestiona VEX junto con SBOM
  • Flujo de Evaluación: Analisis estructurado de vulnerabilidades
  • Seguimiento de estado: Rastrea cambios a lo largo del tiempo
  • Plantillas de justificacion: Patrones comunes pre-construidos
  • Integración de expediente tecnico: VEX en Documentación de cumplimiento
  • Portal de clientes: Comparte estado VEX con clientes

Comienza tu cumplimiento CRA en app.craevidence.com.

Artículos Relacionados


Este articulo es solo para fines informativos y no constituye asesoramiento legal. Para orientacion especifica sobre cumplimiento, consulta con asesores legales cualificados.

Temas tratados en este artículo

Compartir este artículo

Artículos Relacionados

Does the CRA apply to your product?

Responde 6 preguntas sencillas para saber si tu producto entra en el ámbito de la Ley de Resiliencia Cibernética de la UE. Obtén tu resultado en menos de 2 minutos.

¿Listo para lograr el cumplimiento del CRA?

Comienza a gestionar tus SBOMs y documentación de cumplimiento con CRA Evidence.