MedDeviceGuideMedDeviceGuide
Back

SBOM-to-VEX Vulnerability Triage Workflow for Medical Devices: From CVE Intake to Field Action Decision

Operational playbook for medical device PSIRT teams — SBOM component matching, exploitability analysis, VEX justification authoring, PSIRT severity scoring, CAPA trigger thresholds, field safety corrective action decisions, and customer communication timing.

Ran Chen
Ran Chen
Global MedTech Expert | 10× MedTech Global Access
2026-05-0526 min read

What This Article Covers / Does Not Cover

This article covers one workflow: the postmarket SBOM-to-VEX vulnerability triage process. It describes how to intake new CVEs, match them to SBOM components, assess exploitability in the context of a specific medical device, author VEX justifications, make PSIRT and CAPA and FSCA decisions, and communicate with customers. It includes decision trees, RACI tables, timelines, and evidence record requirements.

It does not cover how to generate SBOMs, how to establish a PSIRT from scratch, general cybersecurity program design, or premarket submission requirements. For broader context on those topics, see Medical Device Cybersecurity, SBOM for Medical Devices, and Coordinated Vulnerability Disclosure / PSIRT.

Why This Workflow Matters in 2026

Several converging regulatory and industry developments have made the SBOM-to-VEX triage workflow a core operational capability for medical device manufacturers:

  • Section 524B of the FD&C Act requires manufacturers of cyber devices to submit SBOMs to FDA and to maintain processes for postmarket vulnerability management. This is now law, not guidance.
  • FDA's February 2026 revised cybersecurity guidance (aligned with the Quality Management System Regulation and ISO 13485) treats postmarket vulnerability management as a QMS-controlled process. Vulnerability triage decisions are quality records subject to design control and CAPA linkage.
  • 2026 industry data paints a stark picture: 24% of healthcare organizations experienced cyberattacks directly targeting medical devices (RunSafe 2026 Medical Device Cybersecurity Index), and 80% of those organizations reported measurable impact on patient care.
  • 35% of healthcare procurement decision-makers will not evaluate a device that lacks an SBOM (RunSafe 2026). SBOM availability is becoming a market access requirement, not just a regulatory one.
  • FDA now expects VEX alongside SBOMs in premarket submissions. The SBOM/VEX workflow is both a premarket deliverable and a postmarket operational process. A Medcrypt 2026 deficiency analysis found that incomplete vulnerability exploitation analysis was among the top cybersecurity-related refusal-to-accept reasons.
  • The operational challenge: high-volume scanner findings lack device-specific context, creating "vulnerability noise." A single device SBOM may contain 200+ components, each potentially matching dozens of CVEs. Without a structured triage workflow, PSIRT teams drown in false positives and cannot distinguish a cosmetic library vulnerability from a remotely exploitable patient safety risk.

For context on how this workflow fits into the broader premarket picture, see FDA Cybersecurity Premarket Deficiencies.

Workflow Overview: Seven-Stage Pipeline

The SBOM-to-VEX vulnerability triage process is a seven-stage pipeline. Each stage produces specific evidence records and feeds the next:

  1. CVE Intake and Correlation — Monitor vulnerability sources, ingest new CVEs, enrich with threat intelligence.
  2. SBOM Component Matching — Match CVEs to components in the device SBOM, flag candidates for analysis.
  3. Exploitability Analysis — Determine whether each matched CVE is actually exploitable in the device's deployed configuration and operating environment.
  4. VEX Justification Authoring — Document the exploitability determination in a machine-readable VEX statement.
  5. PSIRT Severity Scoring and Decision — Score the vulnerability for device-specific severity (combining exploitability with patient safety impact) and assign response actions.
  6. Customer Communication Trigger Assessment — Determine whether and when to issue a customer advisory.
  7. CAPA / Field Safety Corrective Action Trigger Assessment — Determine whether the vulnerability triggers a CAPA, an FSCA, or both.

Each stage has defined inputs, outputs, decision criteria, and evidence requirements. The sections below detail every stage.

Recommended Reading
FDA Cybersecurity Premarket Submission Deficiencies: 12 Common Rejection Reasons and How to Fix Them (2026)
Cybersecurity 510(k)2026-05-03 · 26 min read

Stage 1: CVE Intake and Correlation

Sources

Effective vulnerability triage starts with comprehensive intake. The following sources should be monitored continuously:

  • NVD (National Vulnerability Database) — Primary CVE repository, updated daily. API access enables automated ingestion.
  • CISA KEV (Known Exploited Vulnerabilities) Catalog — Catalog of vulnerabilities with confirmed active exploitation. Inclusion here elevates urgency regardless of CVSS score.
  • Vendor security advisories — Third-party component vendors (e.g., OpenSSL, Linux kernel distributions, Qt, Apache) publish their own advisories that may precede NVD publication.
  • EPSS (Exploitation Prediction Scoring System) — Data-driven probability score estimating the likelihood that a CVE will be exploited in the wild within 30 days.
  • Exploit-DB and public exploit repositories — Confirmed proof-of-concept exploit code availability.
  • Internal penetration test findings — Vulnerabilities discovered during the manufacturer's own security testing.
  • Commercial vulnerability intelligence services — Services such as Tenable, Qualys, or Black Duck provide enriched CVE data with device-relevant context.

Automated Ingestion

Daily automated feeds from the NVD API, CISA API, and commercial intelligence services should be the baseline. Manual monitoring supplements automated feeds for vendor-specific advisory sources that lack structured APIs.

Intake Record Data Fields

Each ingested CVE should be stored in an intake record with the following fields:

Field Description Example
CVE ID Unique vulnerability identifier CVE-2026-12345
Publication Date Date the CVE was published or updated 2026-04-28
CVSS Base Score Base severity score (0.0–10.0) 7.5
CVSS Temporal Score Time-dependent severity incorporating exploit maturity 6.8
EPSS Score Probability of exploitation in the wild within 30 days 0.82 (82%)
CISA KEV Status Whether the CVE appears in the Known Exploited Vulnerabilities catalog Listed
Affected Component Name Software component or library name OpenSSL
Affected Version Range Versions known to be vulnerable 3.0.0 – 3.3.1
Exploit Available Whether public exploit code or a known active exploitation campaign exists Yes — PoC on GitHub
Advisory References Links to vendor advisories, NVD entries, CISA alerts https://nvd.nist.gov/vuln/detail/CVE-2026-12345

Output of Stage 1: Enriched CVE intake list ready for SBOM matching.

Stage 2: SBOM Component Matching

Matching Process

The SBOM (CycloneDX or SPDX format) contains an inventory of all software components in the device, including version numbers. Automated matching compares each component name and version against the CVE intake list:

  • CycloneDX SBOM: component name + version fields matched against CVE affected component and version range.
  • SPDX SBOM: package name + versionInfo fields matched similarly.

Handling False Positives

Component matching generates many false positives that must be filtered before exploitability analysis:

  • Component name collisions: A component named "utils" in the SBOM may match a CVE for a different "utils" library. Matching should include vendor/namespace, package URL (purl), or CPE where available.
  • Version range mismatches: A CVE may affect "OpenSSL 1.1.1 to 1.1.1l" while the SBOM lists "OpenSSL 1.1.1m." Automated range comparison must account for semantic versioning.
  • Transitive dependency resolution: A vulnerable component may be a transitive dependency pulled in by a direct dependency. The SBOM must include nested dependencies, and the matching process must traverse the full dependency tree.

Matching Accuracy Classification

Match Type Confidence Level Action Required
Exact match High — component name and version within CVE range Proceed to Stage 3 exploitability analysis
Partial match Medium — name matches but version uncertain or range ambiguous Manual review to confirm version applicability
No match None — component not present in SBOM VEX status: Not Affected, justification: component_not_present
Transitive dependency Medium-High — component pulled in by another component Trace dependency chain to confirm actual version, then proceed to Stage 3

Output of Stage 2: Matched CVE list per device/software version, with match confidence classification.

Evidence Record

  • SBOM version and generation date
  • Matching date
  • Matching tool name and version
  • List of matched components with CVE IDs and match types
  • List of excluded components with exclusion rationale

Stage 3: Exploitability Analysis

This is the critical stage. Not every CVE present in an SBOM component affects the device. A vulnerable library included in a build but never called, or a vulnerable code path behind a disabled feature flag, is not an exploitable risk. Exploitability analysis is what separates signal from noise.

Analysis Factors

Factor Question to Answer Data Source
Reachability Is the vulnerable code path reachable in the device's execution flow? Static analysis tools (e.g., CodeQL, Snyk reachability), manual code review
Configuration Is the vulnerable feature enabled in the device's deployed configuration? Device configuration files, default configuration analysis, field deployment data
Network exposure Is the vulnerable component exposed to the network or attack surface? Threat model (see Medical Device Cybersecurity), network architecture diagrams
Authentication Does the device require authentication before reaching the vulnerable component? Authentication architecture documentation, penetration test results
Compensating controls Are there architectural controls that mitigate the vulnerability? Security architecture documentation, defense-in-depth analysis
Clinical context What is the potential patient safety impact if the vulnerability is exploited? Clinical risk analysis per ISO 14971 Risk Management, intended use documentation

Exploitability Decision Tree

Apply the following decision tree sequentially. Stop at the first definitive "Not Affected" determination.

Step 1: Is the vulnerable code path reachable in the device?

  • NO → VEX Status = Not Affected. Justification = vulnerable_code_not_in_execute_path. Record the analysis that demonstrated unreachable code. Stop.
  • YES → Continue to Step 2.

Step 2: Is the vulnerable feature enabled in the device's configuration?

  • NO → VEX Status = Not Affected. Justification = vulnerable_code_not_present (if the code is compiled out) or vulnerable_code_not_in_execute_path (if the code is present but the feature is disabled at runtime). Document the configuration that disables the feature. Stop.
  • YES → Continue to Step 3.

Step 3: Is the component exposed to the network or attack surface?

  • NO → VEX Status = Not Affected. Justification = attack_requires_local_access or equivalent. Document the network architecture that isolates the component. Stop.
  • YES → Continue to Step 4.

Step 4: Are there compensating controls that mitigate the vulnerability?

  • YES → VEX Status = Not Affected. Justification = inline_mitigations_already_exist. Document each compensating control and how it addresses the specific vulnerability. Stop.
  • NO → VEX Status = Affected. Proceed to Stage 5 for PSIRT severity scoring.

Output of Stage 3: Exploitability determination for each matched CVE, with documented rationale.

Recommended Reading
GB PMSR/PSUR Dual-Report Architecture: How to Structure Post-Market Surveillance Reports for Devices Sold in Both EU and Great Britain
Post-Market Surveillance EU MDR / IVDR2026-05-05 · 18 min read

Stage 4: VEX Justification Authoring

VEX (Vulnerability Exploitability eXchange) is a companion document to the SBOM. While the SBOM says "here is what is in the device," VEX says "here is the status of each known vulnerability in those components." The CISA Minimum Requirements for Vulnerability Exploitability eXchange (April 2023) define the baseline structure. The CycloneDX VEX specification (ECMA-424) provides the canonical machine-readable format.

CISA VEX Minimum Elements

Every VEX statement must contain:

  1. VEX status — The exploitability determination.
  2. VEX justification — The reason for the status determination.
  3. Impact statement — A description of the impact (or lack thereof) on the product.
  4. Action statement — What the manufacturer recommends or plans to do.

VEX Status Values

Per CISA/CycloneDX, the standard VEX status values are:

Status Meaning
Not Affected The vulnerability does not affect the product. No remediation required.
Affected The vulnerability affects the product. Remediation is required.
Fixed A fix is available. Identify the fixed version or patch.
Under Investigation The vendor is investigating whether the product is affected.
In Triage The vulnerability has been received and is being triaged for analysis.

VEX Justification Codes

Justification Code When to Use Example Language
component_not_present The vulnerable component is not included in the product at all "The vulnerable library libcurl is not included in the device firmware."
vulnerable_code_not_present The component is present but the specific vulnerable code has been removed or patched "The device uses OpenSSL 3.3.2, which includes the fix for CVE-2026-12345."
vulnerable_code_not_in_execute_path The vulnerable code exists but is never reached during device operation "The vulnerable function is part of the OpenSSL test harness, which is not compiled into the production build."
inline_mitigations_already_exist Compensating controls within the product mitigate the vulnerability "The device enforces mutual TLS authentication on all network interfaces, which prevents the man-in-the-middle attack vector described in CVE-2026-12345."
vulnerable_code_cannot_be_controlled_by_adversary An attacker cannot control the inputs needed to trigger the vulnerability "The vulnerable input parsing function only receives data from the device's internal sensor array, which is not externally controllable."
requires_environment Exploitation requires an environmental condition that the device's deployment context does not present "The vulnerability requires shell access to the host operating system. The device runs a read-only embedded OS with no shell access."

VEX Document Formats

Three formats are in active use:

  • CycloneDX VEX (ECMA-424) — JSON or XML. Aligns directly with CycloneDX SBOM format. Recommended for manufacturers already using CycloneDX SBOMs.
  • CSAF VEX (Common Security Advisory Framework) — JSON. Aligns with the CSAF standard used by enterprise software vendors.
  • OpenVEX — Minimal, signed, machine-readable format developed in the open-source community. Growing adoption in cloud-native ecosystems.

Sample VEX Statements

The following table illustrates VEX statements for different triage outcomes:

CVE ID Component VEX Status Justification Code Impact Statement Action Statement
CVE-2026-12345 OpenSSL 3.3.1 Not Affected vulnerable_code_not_in_execute_path The vulnerable TLS renegotiation path is not used by the device. The device firmware disables renegotiation at compile time. No action required. Monitoring for changes.
CVE-2026-12346 libcurl 8.2.0 Affected (none — affected status has no justification code) The HTTP/2 connection handling vulnerability can be triggered by a malicious server during the device's data upload operation. This could cause a denial of service on the communication module. Patch planned for firmware version 4.2.1, targeted for Q3 2026. Compensating control: TLS certificate pinning limits connections to authorized servers only.
CVE-2026-12347 zlib 1.3.0 Fixed (none — fixed status) A heap buffer overflow in deflateEnd() could cause a crash during compressed data processing. Fixed in zlib 1.3.1, which is included in firmware version 4.2.0 (released 2026-03-15).
CVE-2026-12348 BusyBox 1.36.0 Under Investigation (none) Potential privilege escalation in the BusyBox applet suite. Analysis of the device's use of BusyBox applets is underway. Investigation expected to complete by 2026-05-12.
CVE-2026-12349 SQLite 3.44.0 Not Affected inline_mitigations_already_exist The vulnerability requires execution of arbitrary SQL statements. The device uses parameterized queries exclusively and does not accept external SQL input. No action required.

Evidence Record for Each VEX Statement

  • CVE ID
  • SBOM component name and version
  • Analysis performed (reachability analysis, configuration review, penetration test, etc.)
  • Analyst name
  • Analysis date
  • Supporting evidence links (code review results, configuration screenshots, test reports)
  • VEX statement version (VEX documents must be versioned and re-evaluated as new information emerges)

Stage 5: PSIRT Severity Scoring and Decision

PSIRT severity is not the same as CVSS severity. CVSS measures the technical characteristics of a vulnerability. PSIRT severity combines exploitability with patient safety impact specific to the device. A CVSS 9.8 vulnerability in a non-reachable code path has a PSIRT severity of zero. A CVSS 6.5 vulnerability in a life-sustaining device with remote exploit potential may have a PSIRT severity of Critical.

For broader PSIRT operational context, see Coordinated Vulnerability Disclosure / PSIRT.

PSIRT Severity Matrix

Exploitability \ Patient Impact No Patient Impact Minor Patient Impact Major Patient Impact Life-Threatening
Remote exploit, no auth required High Critical Critical Critical
Remote exploit, auth required Medium High Critical Critical
Local exploit Low Medium High Critical
No known exploit Low Low Medium High

"Patient impact" is assessed through the clinical risk analysis process described in ISO 14971 Risk Management. It considers the device's intended use, the clinical consequences of a cybersecurity breach (delayed treatment, incorrect dosage, loss of monitoring), and the severity of harm.

PSIRT Decision Table

PSIRT Severity Response Time Action Required
Critical 24-hour triage, 72-hour containment plan Immediate PSIRT activation. Customer advisory within 48 hours. Containment (e.g., network isolation guidance, workaround) within 72 hours. Remediation roadmap within 7 days. CAPA evaluation required.
High 72-hour triage, 7-day containment plan PSIRT activation. Customer advisory within 5 business days. Containment within 7 days. Remediation roadmap within 30 days. CAPA evaluation required.
Medium 7-day triage, 30-day remediation plan PSIRT tracking. Customer advisory if compensating controls are insufficient. Remediation in next scheduled release or within 90 days. CAPA evaluation based on trend.
Low 30-day triage, next scheduled release PSIRT logging. Remediation in next scheduled release. No customer advisory required unless trend analysis indicates escalation.

PSIRT Owner RACI Table

Role Responsibility R/A/C/I
PSIRT Lead Overall triage coordination, severity scoring, timeline ownership Responsible
Security Engineer Exploitability analysis, reachability assessment, compensating control evaluation Responsible
Regulatory Affairs Regulatory impact assessment, FSCA determination, FDA reporting evaluation Accountable for regulatory decisions, Consulted on triage
Quality / CAPA Owner CAPA trigger assessment, QMS record creation, effectiveness check planning Accountable for CAPA decisions
Clinical / Safety Officer Patient impact assessment, clinical risk analysis, adverse event evaluation Consulted on patient impact, Accountable for clinical safety determination
Legal Liability assessment, disclosure timing, contractual obligation review Consulted
Communications Customer advisory drafting and distribution, public statement coordination Informed of triage outcome, Responsible for advisory execution
Engineering / R&D Patch development, remediation implementation, build and release Responsible for remediation

Stage 6: Customer Communication Trigger Assessment

Not every vulnerability requires a customer advisory. Over-communication erodes trust and creates alert fatigue. Under-communication violates regulatory expectations and exposes patients to risk. The decision must be deliberate and documented.

FDA Cybersecurity Management Plan Expectations

FDA's cybersecurity guidance expects manufacturers to include customer communication procedures in their Cybersecurity Management Plan. The plan should define:

  • Criteria for when a customer advisory is issued versus a silent patch
  • The content and format of customer advisories
  • The timeline for advisory issuance relative to vulnerability discovery
  • The communication channels (direct letter, email, safety portal posting, software update notification)

Communication Trigger Criteria

Trigger Communication Type Timeline Audience
PSIRT severity Critical with active exploitation Urgent customer advisory (Field Safety Notice) Within 48 hours of severity determination All customers with affected devices
PSIRT severity High with no compensating controls Customer advisory (Security Advisory) Within 5 business days All customers with affected devices
PSIRT severity High with effective compensating controls Customer notification (Security Bulletin) Within 10 business days All customers with affected devices, via standard communication channels
PSIRT severity Medium, patch available Release notes and security advisory with patch With patch release All customers, via software update notification
PSIRT severity Low Release notes entry With next scheduled release General
Vulnerability in CISA KEV catalog, regardless of PSIRT severity Proactive customer notification Within 5 business days of KEV listing All customers with affected devices

Customer Advisory Template Fields

Every customer advisory should include:

  1. Vulnerability description — Clear, non-technical summary of what the vulnerability is and how it could be exploited.
  2. Affected devices and versions — Specific model numbers, software versions, and hardware revisions.
  3. Clinical impact — What could happen to the patient if the vulnerability were exploited, stated in clinical terms.
  4. Compensating controls — Actions the customer can take immediately to reduce risk (e.g., network segmentation, disabling a feature, applying a configuration change).
  5. Patch availability timeline — When a fix will be available, or confirmation that a fix is already available.
  6. Workaround instructions — Step-by-step instructions for any interim mitigations.
  7. Contact information — How to reach the manufacturer for questions or support.
  8. CVSS and PSIRT severity — Both the technical CVSS score and the device-specific PSIRT severity.
Recommended Reading
IEC 62304 Edition 2 (2026): Software Process Rigor Levels, AI/ML Provisions, and What Changes for Medical Device Manufacturers
Standards & Testing Digital Health & AI2026-05-05 · 24 min read

Stage 7: CAPA / Field Safety Corrective Action Trigger Assessment

The final stage determines whether the vulnerability triggers formal quality system actions: a CAPA, a Field Safety Corrective Action (FSCA), or both. This determination is a QMS-controlled decision and must be documented in the quality record.

For background on the CAPA process, see CAPA for Medical Devices. For post-market surveillance obligations, see Post-Market Surveillance.

CAPA and FSCA Trigger Thresholds

Condition CAPA Trigger? FSCA Trigger? Documentation Required
Single critical vulnerability in deployed devices CAPA evaluation required (may result in CAPA if systemic root cause found) FSCA if patient safety is at risk PSIRT record, CAPA evaluation form, FSCA assessment
Trend of recurring vulnerabilities in same component CAPA required — indicates a systemic procurement or architecture issue FSCA if any individual vulnerability had patient impact Trend analysis, root cause analysis, CAPA record
Vulnerability affecting multiple device families CAPA required — indicates a shared component governance gap FSCA if any device family has patient safety exposure Cross-product impact assessment, CAPA record
Vulnerability in CISA KEV with active exploitation CAPA evaluation required FSCA if deployed devices are exposed and no compensating controls exist KEV listing evidence, device exposure assessment, containment plan
Vulnerability causing reported adverse event CAPA required FSCA required Adverse event report, root cause analysis, corrective action plan, regulatory notification assessment

FSCA: Required vs. Voluntary

An FSCA is required when:

  • The vulnerability has caused or could cause death or serious injury.
  • The vulnerability requires a field action (patch, recall, software update) to correct.
  • Regulatory authorities (FDA, EU Competent Authority, TGA, etc.) would expect notification under their adverse event reporting frameworks.

A voluntary field safety notice is appropriate when:

  • The vulnerability is mitigated by compensating controls but the manufacturer chooses to proactively inform customers.
  • A patch is available but the risk does not meet the threshold for a mandatory field action.
  • The manufacturer wants to demonstrate proactive risk management to customers and regulators.

Evidence Records for CAPA/FSCA Decisions

  • PSIRT severity score and rationale
  • Patient impact assessment from Clinical/Safety Officer
  • Regulatory impact assessment from Regulatory Affairs
  • Compensating control effectiveness evaluation
  • Decision rationale: why CAPA was or was not initiated, why FSCA was or was not triggered
  • Linkage to the manufacturer's Post-Market Surveillance plan
  • For EU MDR devices: linkage to PSUR/PMSR reporting schedule. Vulnerability trends and FSCA decisions must be reflected in the Periodic Safety Update Report.

Timeline and SLA Summary

The following table defines target durations for each stage of the triage pipeline, from CVE publication to closure:

Stage Target Duration SLA Clock Starts SLA Clock Stops
Stage 1: CVE Intake Less than 24 hours CVE publication or vendor advisory release CVE ingested, enriched, and ready for matching
Stage 2: SBOM Component Matching Less than 24 hours CVE intake record created Matched component list generated
Stage 3: Exploitability Analysis 1–5 business days (depending on PSIRT severity) Matched component list generated Exploitability determination documented
Stage 4: VEX Justification Authoring 1–2 business days after exploitability determination Exploitability determination complete VEX statement published and versioned
Stage 5: PSIRT Severity Scoring and Decision Less than 24 hours (Critical/High) or 3 days (Medium/Low) Exploitability determination of "Affected" PSIRT severity assigned, response actions initiated
Stage 6: Customer Communication Per communication trigger table above PSIRT severity decision Customer advisory distributed (if required)
Stage 7: CAPA/FSCA Assessment Within 5 business days of PSIRT decision PSIRT severity decision CAPA/FSCA evaluation documented

Total elapsed time from CVE publication to customer advisory for a Critical severity finding: target is 5–7 business days. For Low severity findings: target is 30–60 days, with remediation in the next scheduled release.

Pre-Triage Validation Checklist

Before a vulnerability triage event occurs, confirm the following operational readiness items. Gaps in any of these will slow or compromise the triage process.

  • SBOM is current and accurately covers every deployed device software version (including legacy/fielded versions)
  • SBOM includes transitive dependencies, not just direct dependencies
  • Automated CVE feeds (NVD API, CISA API) are active, monitored, and logging ingestion status
  • Commercial vulnerability intelligence feeds are configured if used
  • Component matching tool is validated for accuracy — spot-check against known CVE/component pairs quarterly
  • Component matching handles name collisions via purl, CPE, or vendor namespace
  • Reachability analysis tooling is configured for the device software architecture
  • Device threat model is current and documents the attack surface, trust boundaries, and network exposure for each component
  • VEX justification codes are pre-approved by the security team and legal review
  • VEX document template is established in CycloneDX VEX, CSAF VEX, or OpenVEX format
  • PSIRT severity scoring rubric is documented, agreed by cross-functional stakeholders, and version-controlled
  • PSIRT RACI matrix is current and escalation paths are tested
  • Customer communication templates are pre-approved by Legal, Regulatory, and Communications
  • CAPA trigger criteria are documented in the QMS and linked to the PSIRT process
  • FSCA decision criteria are documented, including regulatory notification requirements by market (FDA, EU, TGA, etc.)
  • Evidence records template is ready and includes all required fields (analyst, date, rationale, supporting evidence)
  • Escalation path to Clinical/Safety Officer is defined with contact information and response time expectations
  • PSIRT after-action review process is defined for continuous improvement
  • Quarterly tabletop exercise schedule is established to validate the triage workflow end-to-end
  • VEX document re-evaluation schedule is defined — VEX is a living document, not a one-time deliverable
Recommended Reading
MDR Article 88 Trend Reporting: How to Set Statistical Thresholds, Detect Adverse Trends, and Build a Defensible Reporting Workflow
EU MDR / IVDR Post-Market Surveillance2026-05-05 · 15 min read

Common Failure Modes

The following failure patterns recur across medical device vulnerability triage operations:

Treating all CVEs in the SBOM as "affected" without reachability analysis. This is the most common and most damaging failure mode. A device with 200 SBOM components may have 1,000+ CVE matches. Declaring all of them "affected" creates vulnerability noise, panics customers, overwhelms the PSIRT team, and erodes credibility with regulators. The exploitability analysis in Stage 3 exists specifically to prevent this. Every "Not Affected" VEX statement must still be documented with rationale — but the operational burden of documenting "not affected" is far less than the burden of patching and communicating about vulnerabilities that do not actually affect the device.

Using CVSS score alone for triage without patient safety context. A CVSS 9.8 in a non-reachable code path has zero device impact. A CVSS 6.5 in a life-sustaining device with remote attack surface may be life-threatening. The PSIRT severity matrix in Stage 5 exists to combine technical severity with clinical context. Teams that triage by CVSS alone will over-index on technically severe but operationally irrelevant findings and under-index on clinically significant risks.

Not maintaining VEX as a living document. VEX is not a snapshot — it is a living document that must be re-evaluated as new exploit information emerges. A CVE initially assessed as "Not Affected" because no exploit existed may need to be re-assessed if a public exploit is published or the CVE is added to CISA KEV. VEX documents must be versioned and re-issued when determinations change.

Failing to document the analysis trail. FDA inspectors and EU auditors want to see the decision rationale for every vulnerability triage outcome. An undocumented "we looked at this and decided it was not a problem" is insufficient. The evidence records defined in each stage are the quality trail. Missing evidence is a CAPA finding in itself.

Not linking PSIRT decisions to the CAPA system. Vulnerability management is a quality process. If the PSIRT identifies a recurring vulnerability trend in a third-party component but never initiates a CAPA to address the systemic procurement or architecture issue, the quality system has a gap. PSIRT outcomes must feed the CAPA system when trigger criteria are met.

Slow intake from CISA KEV. CISA KEV lists vulnerabilities with confirmed active exploitation. Delayed intake means deployed devices remain exposed to actively exploited vulnerabilities. The RunSafe 2026 Cybersecurity Index found that 28% of healthcare organizations operate devices past end-of-support, and 44% report using devices with known, unpatched vulnerabilities — figures that reflect both delayed intake and delayed remediation.

How to Remediate Process Gaps

If your organization has identified gaps in the SBOM-to-VEX triage workflow, follow this structured remediation process:

  1. Identify the gap. Map the current process against the seven-stage pipeline and the pre-triage validation checklist. Document each gap with a specific description of what is missing or inadequate.

  2. Update the SOP. Revise the applicable standard operating procedure to address the gap. If no SOP exists for the triage workflow, create one. The SOP should reference the stages, decision criteria, evidence records, and SLAs defined in this article.

  3. Train the team. Conduct role-specific training for every RACI participant. Security engineers need training on reachability analysis and VEX authoring. Regulatory Affairs needs training on FSCA trigger criteria. Clinical/Safety Officers need training on cybersecurity-to-clinical-impact translation.

  4. Validate with a tabletop exercise. Run a simulated vulnerability triage event end-to-end. Inject a realistic CVE scenario (e.g., a CVSS 8.1 vulnerability in OpenSSL affecting a networked infusion pump) and walk the team through all seven stages. Identify where the process breaks, where evidence records are incomplete, and where SLAs are missed.

  5. Update QMS records. Document the gap remediation in the quality management system. This is itself a quality record — it demonstrates to auditors that the organization identified a process weakness, corrected it, and validated the correction.

For organizations building or formalizing their PSIRT, see Coordinated Vulnerability Disclosure / PSIRT. For the broader cybersecurity compliance framework, see Medical Device Cybersecurity. For SBOM generation and management, see SBOM for Medical Devices.