Skip to main content
← All posts·
Cyber Resilience Act

Supply Chain Attack Response: A CVE Incident Playbook for CRA-Regulated Enterprises

When a critical CVE drops in your dependency tree or a supply chain attack compromises a package you ship, the CRA gives you 24 hours to report. Here's the complete incident response playbook — from detection to ENISA notification to customer communication.

Luca Berton15 min read

At 2:47 AM on a Friday, a security researcher publishes a proof-of-concept exploit for a critical vulnerability in a widely-used open-source library. By 6:00 AM, it has a CVE identifier. By 9:00 AM, exploitation in the wild is confirmed. Your SBOM tells you the library is a transitive dependency in three of your products — products shipped to customers across the EU.

Under the EU Cyber Resilience Act, you now have 24 hours to submit an early warning to ENISA and the relevant national CSIRT. Not 24 business hours — 24 hours.

This article is the incident response playbook for that scenario. It covers the complete chain: automated detection, impact assessment, CRA notification obligations, remediation, and post-incident review. Whether the threat is a newly disclosed CVE in your dependency tree or a full supply chain compromise (think SolarWinds, Codecov, or xz-utils), the response framework is the same.

The CRA Reporting Timeline

The CRA's vulnerability reporting obligations take effect on September 11, 2026 — ahead of the full December 2027 compliance date. The timeline for actively exploited vulnerabilities is aggressive:

DeadlineRequirementRecipient
24 hoursEarly warning notification — vulnerability identifier, product affected, severity assessmentENISA + national CSIRT
72 hoursVulnerability notification — technical details, exploitation status, initial impact assessment, preliminary remediation measuresENISA + national CSIRT
14 daysFinal report — root cause analysis, remediation actions taken, lessons learnedENISA + national CSIRT

Critical detail: These timelines apply when you become aware of active exploitation. If a CVE is published but no exploitation is confirmed, the reporting obligation is less urgent — but the clock starts the moment exploitation is confirmed or reasonably suspected. Waiting for "certainty" is not a defense.

Phase 1: Detection (Minutes 0–30)

You can't respond to what you can't see. Automated detection is the foundation of any viable response timeline:

Continuous SBOM Monitoring

If you followed the SBOM automation guide, you already have machine-readable SBOMs for every shipped product. These SBOMs need to be continuously scanned against vulnerability databases:

# Continuous vulnerability scanning against stored SBOMs
# Run on schedule (every 15 minutes) or triggered by CVE feed updates

grype sbom:product-a/sbom.cdx.json --only-fixed --fail-on critical
grype sbom:product-b/sbom.cdx.json --only-fixed --fail-on critical
grype sbom:product-c/sbom.cdx.json --only-fixed --fail-on critical

CVE Feed Integration

Don't rely solely on periodic scanning. Subscribe to real-time CVE feeds:

  • OSV.dev: Google's open-source vulnerability database — covers npm, PyPI, Go, Rust, Maven, and more with a fast API
  • GitHub Advisory Database: Integrated with Dependabot; fires webhooks on new advisories affecting your repositories
  • NVD: NIST's National Vulnerability Database — the canonical CVE source, but often slower than ecosystem-specific databases
  • Vendor advisories: Subscribe to security mailing lists for critical dependencies (Linux kernel, OpenSSL, glibc, container runtimes)

Alerting Pipeline

When a new critical CVE matches a component in any of your SBOMs, the alert must reach the right people immediately:

# Alert routing (PagerDuty/Opsgenie/equivalent)
# Critical CVE in shipped product → Page security on-call + engineering lead
# High CVE in shipped product → Slack notification to security channel
# Medium/Low → Ticket creation for next sprint
📘 Book

Kubernetes Recipes

A practical guide for container orchestration and deployment by Grzegorz Stencel & Luca Berton (Apress).

Watch on Skillshare →

Phase 2: Impact Assessment (Minutes 30–120)

The alert fired. A critical CVE affects a library in your SBOM. Now you need to determine: is this actually exploitable in your product?

SBOM-Driven Impact Analysis

Your SBOM tells you what you have. Now you need to determine how you use it:

  1. Identify affected products: Query all SBOMs for the vulnerable package and version range. This should take seconds, not hours — it's a database query, not a manual audit
  2. Determine dependency path: Is it a direct or transitive dependency? How deep in the tree? The deeper it is, the harder it may be to update — but also the less likely it is that the vulnerable code path is reachable
  3. Assess reachability: Does your code actually invoke the vulnerable function? Static analysis tools (CodeQL, Semgrep) can answer this. If the vulnerable code is never called, it's still a risk (future code changes could reach it) but the immediate threat is lower
  4. Check deployment exposure: Is the vulnerable component exposed to network input? Running in a container with restricted capabilities? Behind a WAF? Network exposure determines whether remote exploitation is possible

Document Everything

Start a VEX (Vulnerability Exploitability eXchange) document immediately. Even if your assessment is preliminary, documenting your analysis in a structured format serves two purposes: it feeds into the CRA notification, and it's your audit trail:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "vulnerabilities": [{
    "id": "CVE-2026-XXXXX",
    "source": { "name": "NVD", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-XXXXX" },
    "ratings": [{ "score": 9.8, "severity": "critical", "method": "CVSSv31" }],
    "analysis": {
      "state": "in_triage",
      "detail": "Assessing reachability in products A, B, C. Preliminary analysis suggests product A is affected (direct dependency, network-exposed). Products B and C use the library in an offline context — reachability analysis pending."
    },
    "affects": [{
      "ref": "product-a-v2.1.0",
      "versions": [{ "version": "2.1.0", "status": "affected" }]
    }]
  }]
}

Phase 3: CRA Notification (Hour 2–24)

If exploitation is confirmed or reasonably suspected, the 24-hour clock is ticking. Your early warning notification to ENISA must include:

  • Product identification: Name, version, category (important/default/critical per CRA classification)
  • Vulnerability identifier: CVE ID, or if no CVE exists yet, a unique reference and description
  • Severity assessment: CVSS score and your own impact assessment
  • Exploitation status: Confirmed in the wild, proof-of-concept available, or suspected
  • Preliminary remediation: What you're doing about it (patch in progress, workaround available, mitigation deployed)

Template your notifications. You cannot afford to draft ENISA notifications from scratch under time pressure. Prepare templates with placeholders for product name, CVE ID, severity, and remediation status. The 72-hour follow-up adds technical detail and updated impact assessment.

🎓 Course with Starweaver

Operationalizing ML Models: MLOps for Scalable AI

Turn ML prototypes into robust, scalable systems using real-world tools. In collaboration with Starweaver.

Start on Coursera →

Phase 4: Remediation (Hours 2–72)

Parallel to notification, your engineering team is working on the fix. The response depends on the attack type:

Scenario A: CVE in a Known Dependency

This is the most common case — a vulnerability is disclosed in a library you depend on, and a patched version exists or is expected:

  1. Update the dependency to the patched version
  2. Run your test suite — the patch may introduce breaking changes
  3. Generate new SBOM — verify the vulnerable version is no longer present
  4. Scan the new SBOM — confirm the CVE no longer appears
  5. Release — push the patched version through your CI/CD pipeline
  6. Notify customers — if the product is deployed on-premises, customers need to know a security update is available

Scenario B: Supply Chain Compromise

A package in your dependency tree was itself compromised — malicious code injected into a legitimate library (xz-utils, event-stream, ua-parser-js patterns):

  1. Pin to the last known-good version — immediately. Don't wait for a "fixed" version of a compromised package
  2. Audit for indicators of compromise — did the malicious code execute in your build pipeline? Did it exfiltrate secrets? Check build logs, network egress, and secrets access
  3. Rotate all secrets that were accessible to the compromised build — API keys, deploy tokens, signing keys. Assume they're compromised
  4. Review all artifacts built with the compromised dependency — every container image, every binary, every release artifact. You may need to rebuild and re-release
  5. Consider the blast radius — if the compromised package ran in your CI/CD pipeline with access to production infrastructure, the compromise may extend beyond the package itself

Scenario C: No Patch Available (Zero-Day)

The vulnerability is confirmed, exploitation is active, but no patch exists:

  1. Deploy mitigations: WAF rules, network isolation, feature flags to disable the affected functionality
  2. Communicate honestly: Tell customers the vulnerability exists, what mitigations you've deployed, and your timeline for a permanent fix
  3. Monitor exploitation attempts: Increase logging and alerting on the attack vector
  4. Contribute upstream: If the affected library is open-source, contribute to the fix. You have the strongest incentive

Phase 5: Post-Incident Review (Day 3–14)

The CRA requires a final report within 14 days. But beyond compliance, a thorough post-incident review improves your response capability for next time:

  • Root cause analysis: How did the vulnerable component enter your supply chain? Was it a direct choice or a transitive dependency you didn't know about?
  • Detection timeline: How long between CVE publication and your team's awareness? Minutes (good), hours (acceptable), days (needs improvement)
  • Response timeline: How long from detection to patch deployment? Where were the bottlenecks?
  • SBOM accuracy: Did your SBOM correctly identify the affected component? If not, why not? (Common causes: SBOM generated from lockfile instead of built artifact, runtime dependencies not captured)
  • Process improvements: What would you change? Faster alerting? Better reachability analysis? Pre-approved emergency release process?
📋 Free Resource

AI Readiness Checklist

50-point interactive checklist covering strategy, data, infrastructure, governance, and people. Score your organisation's AI readiness.

Get Free Checklist →

Building the Infrastructure Before You Need It

Everything in this playbook fails if you try to implement it during an actual incident. The infrastructure must exist before the CVE drops:

  • SBOMs for every shipped product — generated automatically, stored centrally, queryable in seconds
  • Continuous vulnerability scanning — not weekly, not daily — continuous, with real-time alerting
  • VEX documentation workflow — templates, approval process, and tooling ready to go
  • ENISA notification templates — pre-drafted with placeholders; approved by legal
  • Emergency release process — a fast-track CI/CD path that can push a security patch to production in under 2 hours
  • Communication templates — customer notification emails, status page updates, advisory formats
  • Incident response runbook — this playbook, customized to your organization, tested with tabletop exercises

For the Kubernetes deployment patterns that enable rapid, safe rollouts of security patches — rolling updates, canary deployments, and automated rollbacks — see Kubernetes Recipes.

Lessons from Real Supply Chain Incidents

Every major supply chain incident teaches the same lessons:

  • Log4Shell (2021): Organizations without SBOMs spent weeks determining whether they were affected. Those with SBOMs knew within minutes. The CRA's SBOM mandate exists because of incidents like this
  • xz-utils (2024): A social engineering attack compromised a critical compression library used in SSH. Detection was accidental — a developer noticed anomalous build times. Automated integrity checks in build pipelines would have caught this earlier
  • SolarWinds (2020): Build pipeline compromise injected malicious code into legitimate software updates. The lesson: your CI/CD pipeline is part of your attack surface. Reproducible builds, build provenance attestations (SLSA), and build system isolation are essential
  • Codecov (2021): A compromised CI/CD tool exfiltrated environment secrets from thousands of repositories. The lesson: secrets accessible to CI/CD pipelines must be scoped to the minimum necessary, and rotation must be automated

What Open Empower Delivers

We help regulated enterprises build the supply chain security infrastructure that makes this playbook executable:

  • SBOM pipeline implementation — from generation to scanning to storage, integrated into your existing CI/CD
  • Continuous vulnerability monitoring — real-time CVE correlation against your SBOM inventory
  • Incident response readiness — tabletop exercises, runbook development, ENISA notification workflow
  • CRA compliance mapping — your vulnerability handling process mapped to CRA Annex I Part II requirements
  • Emergency release automation — fast-track deployment pipelines for security patches

The next Log4Shell is not a question of "if" — it's "when." The only variable is whether your organization responds in 24 hours or 24 days. Build the infrastructure now.

supply chain attack
cve
incident response
cra
sbom
vulnerability management
enisa
security
cicd
log4j

Need help applying this in your organization?

Get a free 30-minute assessment with actionable recommendations — whether we work together or not.

Book Your Free AI Platform Assessment

Or see AI readiness assessment scope & pricing

18+ years experience · Ex-Red Hat & Dell · Speaker at KubeCon EU 2026

Luca Berton

Written by

Luca Berton

CEO at Open Empower. 18+ years building enterprise infrastructure at JPMorgan Chase, Red Hat & Dell. Author of 9 technical books. Speaker at Red Hat Summit and KubeCon EU 2026. Instructor on Coursera, Pluralsight & Udemy.

Get more insights like this

Practical AI infrastructure and platform engineering guides — delivered to your inbox.

Subscribe to Newsletter →