VEX voor CRA-compliance: gids voor Vulnerability Exploitability eXchange

Hoe u VEX-documenten gebruikt voor CRA-compliance. Behandelt VEX-formaten, statustypen, integratie met SBOM en praktische voorbeelden voor het communiceren van kwetsbaarheidstoepasbaarheid.

CRA Evidence Team
Auteur
14 januari 2026
Bijgewerkt 25 februari 2026, 00:00:00 UTC
11 min. lezen
VEX voor CRA-compliance: gids voor Vulnerability Exploitability eXchange
In this article

Niet elke kwetsbaarheid in uw SBOM heeft invloed op uw product. VEX (Vulnerability Exploitability eXchange) stelt u in staat te communiceren welke kwetsbaarheden daadwerkelijk van toepassing zijn op uw specifieke product en context. Voor CRA-compliance helpt VEX aantonen dat u kwetsbaarheden heeft beoordeeld en de relevante ervan heeft aangepakt.

Deze gids legt uit hoe u VEX effectief gebruikt.

Info: VEX (Vulnerability Exploitability eXchange) stelt u in staat te communiceren welke kwetsbaarheden in uw SBOM daadwerkelijk van invloed zijn op uw product — en welke niet. Het is essentieel voor het voldoen aan de CRA-vereiste "geen bekende uitbuitbare kwetsbaarheden".

Samenvatting

  • VEX = machineleesbare verklaring over toepasbaarheid van kwetsbaarheden
  • Beantwoordt: "Heeft CVE-XXXX invloed op MIJN product?"
  • Vier statussen: Niet getroffen, Getroffen, Opgelost, Onder onderzoek
  • Complement op SBOM: SBOM somt componenten op, VEX beoordeelt kwetsbaarheden
  • CycloneDX VEX en CSAF VEX zijn de hoofdformaten
  • Essentieel voor de CRA-vereiste "geen bekende uitbuitbare kwetsbaarheden"

VEX-statusstroom — Niet getroffen, Onder onderzoek, Getroffen, Opgelost

Wat is VEX?

Het probleem dat VEX oplost

Wanneer u een SBOM scant, krijgt u een lijst van kwetsbaarheden in componenten:

SBOM-SCANRESULTATEN (Typisch):

Component: openssl 1.1.1k
  - CVE-2021-3711 (Kritiek)
  - CVE-2021-3712 (Hoog)
  - CVE-2022-0778 (Hoog)

Component: zlib 1.2.11
  - CVE-2018-25032 (Hoog)

Component: libxml2 2.9.10
  - CVE-2021-3517 (Hoog)
  - CVE-2021-3518 (Hoog)
  - CVE-2022-23308 (Gemiddeld)

TOTAAL: 8 kwetsbaarheden gevonden

MAAR WACHT...
- Hebben al deze daadwerkelijk invloed op uw product?
- Wordt het kwetsbare codepad gebruikt?
- Heeft u sommige al gemitigeerd?
- Zijn sommige niet uitbuitbaar in uw context?

VEX beantwoordt deze vragen.

VEX-definitie

VEX (Vulnerability Exploitability eXchange) is een gestandaardiseerd formaat voor het communiceren van:

  • Of een kwetsbaarheid een specifiek product treft
  • Waarom wel of niet
  • Welke acties (indien van toepassing) nodig zijn
  • Huidige status van de beoordeling

VEX-statustypen

VEX-STATUSOPTIES

NIET GETROFFEN:
"Deze kwetsbaarheid heeft geen invloed op ons product"
- Kwetsbare code niet aanwezig
- Kwetsbare functie niet aangeroepen
- Platform niet van toepassing
- Gemitigeerd door configuratie

GETROFFEN:
"Deze kwetsbaarheid heeft invloed op ons product"
- Actie vereist
- Kan aanbevolen mitigaties bevatten
- Geeft ernst in context aan

OPGELOST:
"Deze kwetsbaarheid is verholpen"
- In specifieke versie
- Details van oplossing verstrekt
- Updateaanbeveling

ONDER ONDERZOEK:
"We beoordelen dit nog"
- Status nog niet bepaald
- Onderzoek gaande
- Tijdelijke status

VEX en CRA-vereisten

CRA-kwetsbaarheidsvereisten

CRA vereist van fabrikanten:

  1. Geen bekende uitbuitbare kwetsbaarheden (bij marktplaatsing)
  2. Kwetsbaarheden afhandelen gedurende de ondersteuningsperiode
  3. Beveiligingsupdates leveren om kwetsbaarheden op te lossen
  4. Actief misbruikte kwetsbaarheden melden aan ENISA (24u)
  5. Ernstige kwetsbaarheden melden aan ENISA (72u)

Hoe VEX CRA ondersteunt

VEX VOOR CRA-COMPLIANCE

VEREISTE: Geen bekende uitbuitbare kwetsbaarheden

ROL VEX:
- Kwetsbaarheidsbeoordeling documenteren
- Tonen welke CVE's zijn geëvalueerd
- "Niet getroffen"-bepalingen aantonen
- Bewijs voor technisch dossier

VEREISTE: Kwetsbaarheden afhandelen

ROL VEX:
- Statuswijzigingen kwetsbaarheden bijhouden
- Progressie "getroffen" → "opgelost" documenteren
- Communiceren met klanten
- Auditspoor bijhouden

VEREISTE: Beveiligingsupdates

ROL VEX:
- Documenteren wat in elke update is opgelost
- Informatie "opgelost in versie X" verstrekken
- Tool voor klantcommunicatie

VEREISTE: ENISA-melding

ROL VEX:
- Voorbeoordeling helpt meldingsplicht bepalen
- "Getroffen" + "actief misbruikt" = melden
- Documentatie voor nauwkeurigheid rapport

Tip: CycloneDX heeft native VEX-ondersteuning. Als u al CycloneDX SBOM's genereert, is het toevoegen van VEX-gegevens eenvoudig.

VEX-formaten

CycloneDX VEX

CycloneDX bevat VEX-capaciteit als onderdeel van het SBOM-formaat:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "vulnerabilities": [
    {
      "id": "CVE-2021-3711",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "not_affected",
        "justification": "code_not_present",
        "detail": "Ons product gebruikt OpenSSL maar niet de SM2-functionaliteit waar deze kwetsbaarheid bestaat. SM2 is niet gecompileerd in onze build."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ]
    },
    {
      "id": "CVE-2022-0778",
      "source": {
        "name": "NVD"
      },
      "analysis": {
        "state": "affected",
        "detail": "Product is getroffen bij het verwerken van niet-vertrouwde certificaten. Opgelost in versie 2.1.0."
      },
      "affects": [
        {
          "ref": "openssl-1.1.1k"
        }
      ],
      "recommendation": "Updaten naar productversie 2.1.0 of later"
    }
  ]
}

CSAF VEX

CSAF (Common Security Advisory Framework) biedt een zelfstandig VEX-documentformaat:

{
  "document": {
    "category": "csaf_vex",
    "title": "Productbeveiligingsbeoordeling voor CVE-2021-3711",
    "publisher": {
      "category": "vendor",
      "name": "Voorbeeld Corp"
    },
    "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": "SM2-functionaliteit is niet opgenomen in onze OpenSSL-build."
        }
      ]
    }
  ]
}

OpenVEX

OpenVEX is een eenvoudiger, gefocust VEX-formaat:

{
  "@context": "https://openvex.dev/ns/v0.2.0",
  "@id": "https://example.com/vex/2024-001",
  "author": "Voorbeeld Corp Beveiligingsteam",
  "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": "SM2 cryptografische functionaliteit is niet gecompileerd in de OpenSSL-build van ons product."
    }
  ]
}

VEX-verklaringen aanmaken

Beoordelingsproces

VEX-BEOORDELINGSWORKFLOW

STAP 1: KWETSBAARHEID IDENTIFICEREN
- Vanuit SBOM-scanresultaten
- Vanuit beveiligingsadvies
- Vanuit klantmelding
- Vanuit ENISA-kennisgeving

STAP 2: TOEPASBAARHEID ANALYSEREN
Te beantwoorden vragen:
- Is het kwetsbare component in ons product aanwezig?
- Is de kwetsbare versie aanwezig?
- Wordt het kwetsbare codepad gebruikt?
- Is de kwetsbaarheid uitbuitbaar in onze context?
- Zijn mitigaties al aanwezig?

STAP 3: STATUS BEPALEN
Op basis van analyse:
- NOT_AFFECTED: Kwetsbaarheid is niet van toepassing
- AFFECTED: Kwetsbaarheid is van toepassing, actie vereist
- FIXED: Was getroffen, nu verholpen
- UNDER_INVESTIGATION: Nog bezig met beoordeling

STAP 4: ONDERBOUWING DOCUMENTEREN
Voor NOT_AFFECTED, geef aan waarom:
- vulnerable_code_not_present
- vulnerable_code_cannot_be_controlled_by_adversary
- vulnerable_code_not_in_execute_path
- inline_mitigations_already_exist

STAP 5: VEX-DOCUMENT AANMAKEN
- Gekozen formaat gebruiken
- Alle vereiste velden invullen
- Document versienummeren en dateren
- Indien mogelijk ondertekenen

Onderbouwingstypen

NOT_AFFECTED-ONDERBOUWINGEN

VULNERABLE_CODE_NOT_PRESENT:
"De kwetsbare code is niet opgenomen in onze build"
Voorbeeld: OpenSSL gecompileerd zonder SM2-ondersteuning

VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY:
"Een aanvaller kan de kwetsbare code niet bereiken"
Voorbeeld: Functie alleen aangeroepen met vertrouwde interne gegevens

VULNERABLE_CODE_NOT_IN_EXECUTE_PATH:
"De kwetsbare functie wordt nooit aangeroepen"
Voorbeeld: Bibliotheek opgenomen maar specifieke functie ongebruikt

INLINE_MITIGATIONS_ALREADY_EXIST:
"Andere maatregelen voorkomen misbruik"
Voorbeeld: WAF blokkeert de aanvalsvector, sandboxing beperkt impact

Voorbeeldbeoordelingen

VOORBEELD 1: Niet getroffen (code niet aanwezig)

Kwetsbaarheid: CVE-2021-3711 (OpenSSL SM2 bufferoverloop)
Component: openssl 1.1.1k
Beoordeling: Ons product gebruikt OpenSSL alleen voor TLS.
             SM2 is een Chinese cryptografische standaard die we niet gebruiken.
             Onze build schakelt SM2 expliciet uit: ./config no-sm2
Status: NOT_AFFECTED
Onderbouwing: vulnerable_code_not_present

VOORBEELD 2: Niet getroffen (niet in uitvoeringspad)

Kwetsbaarheid: CVE-2022-23308 (libxml2 use-after-free)
Component: libxml2 2.9.10
Beoordeling: Kwetsbaarheid in XPath-evaluatie met namespaces.
             Ons product gebruikt libxml2 alleen voor eenvoudige XML-parsing.
             We gebruiken nooit XPath-functionaliteit.
Status: NOT_AFFECTED
Onderbouwing: vulnerable_code_not_in_execute_path

VOORBEELD 3: Getroffen

Kwetsbaarheid: CVE-2022-0778 (OpenSSL oneindige lus)
Component: openssl 1.1.1k
Beoordeling: Ons product verwerkt TLS-certificaten van
             potentieel niet-vertrouwde bronnen. De kwetsbaarheid
             maakt DoS mogelijk via kwaadaardig certificaat.
Status: AFFECTED
Aanbeveling: Updaten naar productversie 2.1.0 (OpenSSL 1.1.1n)

VOORBEELD 4: Opgelost

Kwetsbaarheid: CVE-2022-0778 (OpenSSL oneindige lus)
Component: openssl (was 1.1.1k, nu 1.1.1n)
Beoordeling: Opgelost in productversie 2.1.0
Status: FIXED
Opgelost in versie: 2.1.0

VEX-workflow voor CRA

Doorlopende beoordeling

DOORLOPEND VEX-PROCES

DAGELIJKS/WEKELIJKS:
1. SBOM scannen op nieuwe kwetsbaarheden
2. Prioriteren op ernst
3. Beoordeling starten van hoge/kritieke kwetsbaarheden

PER KWETSBAARHEID:
1. Technische analyse
2. Status bepalen
3. VEX-verklaring aanmaken/bijwerken
4. Indien GETROFFEN: remediëring plannen

BIJ OPLOSSING:
1. VEX-status bijwerken naar OPGELOST
2. Versie van oplossing refereren
3. Klanten informeren
4. Technisch dossier bijwerken

VOOR ENISA-MELDING:
1. GETROFFEN + actief misbruikt  Melden binnen 24u
2. GETROFFEN + ernstig  Melden binnen 72u
3. VEX opnemen in rapportagecontext

Integratie met SBOM

SBOM + VEX-INTEGRATIE

OPTIE 1: Ingebed VEX (CycloneDX)
- VEX-gegevens in SBOM-document
- Enkel bestand voor componenten + kwetsbaarheden
- SBOM bijwerken wanneer VEX wijzigt

OPTIE 2: Gekoppeld VEX
- Afzonderlijk VEX-document
- Verwijst naar SBOM-componenten
- Kan onafhankelijk worden bijgewerkt

OPTIE 3: CSAF-adviezen
- Zelfstandige beveiligingsadviezen
- Gepubliceerd op beveiligingspagina
- Machineleesbaar voor automatisering

AANBEVELING VOOR CRA:
- Gebruik ingebed VEX voor technisch dossier (volledig overzicht)
- Publiceer CSAF-adviezen voor klantcommunicatie
- Beiden bijhouden en gesynchroniseerd houden

Klantcommunicatie

VEX VOOR KLANTCOMMUNICATIE

SCENARIO: Klant vraagt "Heeft CVE-XXXX invloed op uw product?"

MET VEX:
1. Kwetsbaarheid zoeken in VEX-database
2. Status direct meedelen
3. Indien NOT_AFFECTED: onderbouwing delen
4. Indien AFFECTED: remediëringsbegeleiding verstrekken
5. Indien UNDER_INVESTIGATION: tijdlijn meedelen

VOORDELEN:
- Consistente antwoorden van heel het ondersteuningsteam
- Vooraf opgestelde onderbouwingen
- Snellere responstijd
- Aantoonbare zorgvuldigheid

VEX in technisch dossier

Documentatieaanpak

VEX-SECTIE IN TECHNISCH DOSSIER

SECTIE: Kwetsbaarheidsbeoordeling (VEX)

INHOUD:
1. Beschrijving VEX-methodologie
2. Huidig VEX-document (alle producten)
3. Historische VEX-updates (auditspoor)
4. Bewijs voor "niet getroffen"-onderbouwingen

VOORBEELDVERMELDING:
"Per [datum] zijn de volgende kwetsbaarheden beoordeeld
voor [Productnaam] versie [X.Y.Z]:

Totaal CVE's in componentafhankelijkheden: 47
- Niet getroffen: 41
- Opgelost: 4
- Onder onderzoek: 2
- Getroffen (met mitigatie): 0

VEX-document: [link/bijlage]
Laatste update: [datum]"

Bewijs voor "geen bekende uitbuitbare kwetsbaarheden"

CRA-COMPLIANCEBEWIJS

BEWERING: Product heeft geen bekende uitbuitbare kwetsbaarheden

BEWIJS (VEX-gebaseerd):
1. SBOM-scanresultaten (gedateerd)
2. VEX-beoordeling die alle bevindingen dekt
3. Voor elke "Niet getroffen": onderbouwing
4. Voor elk "Opgelost": versie-informatie
5. Voor "Onder onderzoek": tijdlijn/status

AUDITSPOOR:
- Wanneer is elke CVE beoordeeld?
- Wie heeft de beoordeling uitgevoerd?
- Wat was de onderbouwing?
- Wanneer is de status bijgewerkt?

Tools en automatisering

VEX-generatietools

VEX-TOOLINGOPTIES

SBOM + KWETSBAARHEIDSMATCHING:
- Grype (Anchore) - genereert VEX
- Trivy - kwetsbaarheidsscanning met VEX-output
- OWASP Dependency-Track - VEX-ondersteuning

VEX-AUTHORING:
- CycloneDX CLI - VEX aanmaken/valideren
- CSAF tools - CSAF VEX-documenten aanmaken
- OpenVEX tools - eenvoudige VEX-aanmaak

AUTOMATISERING:
- CI/CD-integratie voor scanning
- Automatische "onder onderzoek"-status
- Handmatige beoordeling voor definitieve status

Automatiseringsstrategie

VEX-AUTOMATISERINGSAANPAK

GEAUTOMATISEERD:
- SBOM-scanning op nieuwe CVE's
- Initiële "onder onderzoek"-status
- Melding aan beveiligingsteam
- Basiscontroles toepasbaarheid

SEMI-GEAUTOMATISEERD:
- Suggesties voor codepadanalyse
- Historische patroonherkenning
- Statusopzoekingen voor vergelijkbare producten

HANDMATIG (vereist):
- Definitieve statusbepaling
- Onderbouwing schrijven
- Klantgerichte communicatie
- Beslissingen voor ENISA-melding

Veelvoorkomende uitdagingen

Uitdaging: Hoog volume CVE's

Probleem: SBOM-scans leveren honderden CVE's op.

Oplossingen:

  • Prioriteren op ernst (eerst Kritiek/Hoog)
  • Automatisering gebruiken voor initiële triage
  • Sjablonen voor onderbouwing opstellen voor veelvoorkomende patronen
  • Focussen op componenten die u beheert

Uitdaging: Moeilijkheid van technische analyse

Probleem: Moeilijk te bepalen of kwetsbare code wordt gebruikt.

Oplossingen:

  • Samenwerken met het ontwikkelingsteam
  • Statische analysetools gebruiken
  • Onzekerheid adequaat documenteren
  • Conservatieve aanpak: bij twijfel, behandelen als getroffen

Uitdaging: VEX actueel houden

Probleem: Kwetsbaarheidsstatus wijzigt in de tijd.

Oplossingen:

  • SBOM-herscan automatiseren
  • Geplande VEX-beoordelingen
  • Op triggers gebaseerde updates (nieuwe CVE, nieuwe versie)
  • VEX-documenten versienummeren

VEX-checklist

CHECKLIST VEX-IMPLEMENTATIE

INRICHTING:
[ ] VEX-formaat kiezen (CycloneDX VEX aanbevolen)
[ ] Beoordelingsproces definiëren
[ ] Verantwoordelijkheid toewijzen
[ ] Tooling inrichten

INITIËLE BEOORDELING:
[ ] SBOM scannen op kwetsbaarheden
[ ] Prioriteren op ernst
[ ] Elke kwetsbaarheid beoordelen
[ ] Onderbouwingen documenteren

DOORLOPEND PROCES:
[ ] Regelmatig SBOM-herscanschema
[ ] Monitoring van nieuwe CVE's
[ ] SLA voor beoordeling (bijv. Kritiek: 24u)
[ ] Updates van VEX-document

DOCUMENTATIE:
[ ] VEX opgenomen in technisch dossier
[ ] Versiegeschiedenis bijgehouden
[ ] Onderbouwingen gedetailleerd
[ ] Klantgerichte publicatie

INTEGRATIE:
[ ] Gekoppeld aan SBOM
[ ] Klantcommunicatieproces
[ ] ENISA-meldingsworkflow
[ ] Release notes bijgewerkt

Kernbronnen

VEX-BRONNEN

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

RICHTLIJNEN:
CISA VEX Status Justifications
NTIA VEX Minimum Elements

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

Hoe CRA Evidence helpt

CRA Evidence biedt uitgebreide VEX-ondersteuning:

  • Geïntegreerd VEX: VEX beheren samen met SBOM
  • Beoordelingsworkflow: Gestructureerde kwetsbaarheidsanalyse
  • Statusbeheer: Wijzigingen in de tijd bijhouden
  • Onderbouwingssjablonen: Veelvoorkomende patronen vooraf ingebouwd
  • Integratie technisch dossier: VEX in compliancedocumentatie
  • Klantportaal: VEX-status delen met klanten

Start uw CRA-compliance via app.craevidence.com.

Gerelateerde artikelen


Dit artikel is uitsluitend bedoeld ter informatie en vormt geen juridisch advies. Raadpleeg voor specifieke compliancebegeleiding een gekwalificeerde juridisch adviseur.

In diesem Artikel behandelte Themen

Diesen Artikel teilen

Gerelateerde artikelen

Does the CRA apply to your product?

Beantworte 6 einfache Fragen, um herauszufinden, ob dein Produkt unter den Geltungsbereich des EU Cyber Resilience Act fällt. Erhalte dein Ergebnis in weniger als 2 Minuten.

Bereit für CRA-Konformität?

Beginnen Sie mit der Verwaltung Ihrer SBOMs und Konformitätsdokumentation mit CRA Evidence.