The EU Cyber Resilience Act, Regulation (EU) 2024/2847, is the first law anywhere to make a software bill of materials a binding legal requirement rather than a recommendation. Annex I, Part II, point 1 requires manufacturers of products with digital elements to identify and document the components in their products, including by drawing up an SBOM in a commonly used, machine-readable format covering at least the top-level dependencies.

The dates catch people out. The SBOM obligation itself is enforceable from 11 December 2027. Vulnerability reporting under Article 14 binds from 11 September 2026, roughly two weeks from now. That ordering creates a practical dependency: you cannot report within 24 hours whether an actively exploited vulnerability affects your product unless you already know what is inside it.

The SBOM deadline is December 2027 in law. It is September 2026 in practice.

This guide covers what the CRA requires, what a compliant SBOM contains, which formats qualify, how deep the dependency tree must go, how the reporting clocks work, and what to build before the September deadline.

Key Definitions

TermDefinition
CRACyber Resilience Act, Regulation (EU) 2024/2847. In force since 10 December 2024
SBOMSoftware Bill of Materials. A machine-readable inventory of the components in a product
Product with digital elementsAny software or hardware product with a data connection placed on the EU market
Top-level dependencyA component the product directly depends on, as distinct from transitive dependencies further down the tree
Transitive dependencyA dependency of a dependency. Not expressly required by the CRA baseline
Actively exploited vulnerabilityA vulnerability for which there is reliable evidence of malicious execution against a system without the owner’s permission
Severe incidentAn incident negatively affecting the security of a product with digital elements
ENISAEuropean Union Agency for Cybersecurity. Operates the Single Reporting Platform
CSIRTComputer Security Incident Response Team. The national coordinator for CRA reporting
SPDXSoftware Package Data Exchange. An ISO-standardised SBOM format
CycloneDXAn OWASP SBOM standard widely used for security use cases
VEXVulnerability Exploitability eXchange. A companion document stating whether a known vulnerability actually affects a product

What the CRA Says About SBOMs

The operative text sits in Annex I, Part II, point 1. Manufacturers must identify and document vulnerabilities and components contained in products, including by drawing up a software bill of materials in a commonly used and machine-readable format covering at least the top-level dependencies.

Four elements of this requirement carry weight.

Identify and document. The obligation is continuous, not a point-in-time artefact. An SBOM generated once at release and never updated does not satisfy a requirement framed around ongoing identification.

Commonly used and machine-readable format. The CRA does not name a format. In practice this means SPDX or CycloneDX. A PDF listing components is not machine-readable in any useful sense and will not survive a market surveillance authority request.

At least the top-level dependencies. This is the minimum, not the target. Top-level dependencies are the components your product directly declares. Transitive dependencies, the ones your dependencies pull in, are where most exploited vulnerabilities actually live.

Available on request. The SBOM must be kept current and provided to market surveillance authorities when they ask. There is no obligation to publish it publicly.

The Two SBOM Deadlines and Why the Order Matters

DateObligationLegal basis
10 December 2024CRA enters into forceArticle 71
11 June 2026Chapter IV applies. Member states designate authorities and notified bodiesArticle 71
11 September 2026Article 14 vulnerability and incident reporting bindsArticle 71(2)
11 December 2027Full application: essential requirements, Annex I, technical documentation, CE marking, SBOMArticle 71

Article 71(2) brings Article 14 forward, ahead of the rest of the regulation. This is deliberate: the legislator wanted the reporting channel operating before the substantive product requirements landed.

The consequence is a sequencing problem that most engineering teams have not yet absorbed. From 11 September 2026, a manufacturer must report an actively exploited vulnerability in its product within 24 hours of becoming aware of it. When a CVE is published against a widely used library, the manufacturer has to determine, within hours, whether that library is in its product and at what version.

Without a current component inventory, that determination is a manual investigation across every repository and build. By the time it completes, the 24-hour clock has run.

Critically, the September 2026 reporting obligations apply to products already on the EU market, not only to new releases. There is no grandfathering.

The Article 14 Reporting (Ticking) Clocks

Two events trigger a report: a vulnerability in the product being actively exploited, and a severe incident affecting the product’s security. Both must be notified simultaneously to the CSIRT designated as coordinator, being that of the member state of the manufacturer’s main establishment, and to ENISA via the Single Reporting Platform.

StageDeadlineContent required
Early warning24 hours from awarenessThat the vulnerability or incident exists and, if known, the affected member states
Vulnerability notification72 hours from awarenessGeneral information about the affected product, the nature of the issue, and available corrective or mitigating measures
Final report14 days after a corrective measure is availableFull description, severity, impact, and the corrective measure deployed

The clocks are measured in elapsed hours, not working days. A vulnerability disclosed on a Friday evening does not get until Monday.

The Single Reporting Platform operated by ENISA requires registration that cannot be completed retroactively. Manufacturers should register before the obligation binds rather than at the moment they first need to file. Let’s take a look at the practicalities of SBOM.

What Goes in a CRA-Compliant SBOM

The CRA itself does not specify data fields. The reference point that has emerged in practice is the BSI TR-03183 family, particularly Part 2, which the German federal cybersecurity authority published specifically to give manufacturers an implementable specification against CRA requirements.

A defensible SBOM should contain the following for each component.

FieldPurpose
Component nameIdentification
VersionDetermines whether a published CVE applies
Supplier or authorAttribution and support contact
Unique identifierPURL, CPE, or SWID tag enabling automated vulnerability matching
LicenseLegal and compliance tracking
Dependency relationshipPosition in the dependency graph
Hash or checksumIntegrity verification
Executable and archive statusWhether the component ships as executable code

The unique identifier field is the one teams most often treat as optional and most often regret. Automated vulnerability matching depends on it. An SBOM listing component names without PURLs or CPEs requires human interpretation at exactly the moment when the 24-hour clock is running.

Format: SPDX or CycloneDX

FeatureSPDXCycloneDX
GovernanceLinux Foundation, ISO/IEC 5962:2021OWASP
Primary orientationLicense compliance and provenanceSecurity and vulnerability management
FormatsJSON, YAML, RDF, tag-value, spreadsheetJSON, XML, protobuf
VEX supportVia separate specificationNative
Tooling maturityStrongStrong
CRA acceptabilityYesYes

Either satisfies the commonly used and machine-readable requirement. CycloneDX has an edge for CRA purposes because its native VEX integration supports the vulnerability handling workflow the regulation requires. SPDX has an edge where license compliance is a parallel driver and where ISO standardisation matters to procurement.

Generating both is quite common and costs little once the pipeline exists.

How Deep Must the Dependency Tree Go

The CRA baseline is top-level dependencies. This is a genuine floor, not a suggestion, and it is lower than most security practitioners would recommend.

The practical difficulty is that vulnerabilities do not respect dependency depth. Log4Shell affected organisations that had never directly declared Log4j; it arrived transitively through frameworks that used it. A top-level-only SBOM would not have identified exposure.

DepthCRA positionPractical assessment
Top-level onlyMeets the minimumInsufficient for the 24-hour reporting obligation in most real cases
Full transitive treeExceeds the minimumNecessary for reliable vulnerability determination
Runtime dependenciesNot addressedRelevant where components are loaded dynamically
Build-time dependenciesNot addressedRelevant to supply chain integrity

The regulatory minimum and the operational requirement diverge here. A manufacturer that generates top-level-only SBOMs is compliant with Annex I and will struggle with Article 14.

The Third-Party Component Problem

Where a product contains an actively exploited vulnerability originating from a third-party component, the manufacturer must notify it. The obligation does not shift to the component supplier.

This has two consequences for procurement.

First, CRA requirements need to flow into contracts with component suppliers and third-party software providers. Manufacturers should require SBOMs from their suppliers, patching commitments with defined timelines, and notification obligations when the supplier becomes aware of a vulnerability in a component you use. Your compliance depends on theirs.

Second, end-of-life dependencies become a compliance liability rather than a technical debt item. A component whose upstream maintainer has ceased issuing security patches cannot be remediated within the CRA’s support period obligations. Identifying EOL dependencies is part of SBOM hygiene, not a separate exercise.

Open Source and the CRA

The CRA treats open source differently depending on commercial context.

Open source software developed and supplied outside the course of a commercial activity falls outside the regulation. A maintainer publishing a library for free with no commercial relationship is not a manufacturer under the CRA.

The position changes where open source is monetised, supported commercially, or integrated into a commercial product. A manufacturer that ships open source components inside a commercial product is responsible for those components under the CRA regardless of who wrote them.

The SBOM obligation covers the whole product, not only the proprietary parts.

The CRA also created the category of open source software steward, a lighter-touch regime for foundations and organisations that support open source development on a sustained basis without directly monetising it.

Stewards have security policy and cooperation obligations but do not carry the full manufacturer burden.

Product Classification and Conformity Assessment

SBOM obligations are uniform across product classes. The conformity assessment route is not.

ClassExamplesAssessment route
Default (approximately 90% of the market)Most software and connected hardwareManufacturer self-assessment and EU declaration of conformity
Important, class IBrowsers, VPNs, password managers, network management systemsHarmonised standards or third-party assessment
Important, class IIFirewalls, intrusion prevention systems, hypervisorsNotified body assessment mandatory
CriticalHardware security modules, smart meter gateways, smartcardsEuropean cybersecurity certification

Classification determines the assessment route from December 2027 and should be settled early, because notified body capacity for class II products will be constrained.

SBOM-Related Penalties

InfringementMaximum penalty
Non-compliance with essential requirements in Annex I€15 million or 2.5% of worldwide annual turnover, whichever is higher
Non-compliance with other manufacturer obligations€10 million or 2% of worldwide annual turnover
Supplying incorrect, incomplete, or misleading information to notified bodies or authorities€5 million or 1% of worldwide annual turnover

Market surveillance authorities can also require products to be withdrawn from the market or recalled. For a software product, a withdrawal order is a more serious commercial event than the fine.

What to Build Before 11 September 2026

The reporting obligation binds in roughly two weeks. The following are the minimum operational components.

Register on the Single Reporting Platform. Registration cannot be done retroactively. Identify your coordinating CSIRT based on your main establishment and complete registration before you need it.

Define the reporting process. A named point of contact, an on-call rota, an internal escalation route, templates for the 24-hour, 72-hour, and 14-day submissions, and a decision procedure for determining whether a vulnerability is actively exploited. Rehearse it before you need it.

Generate SBOMs in your build pipeline. Automated generation at build time in SPDX or CycloneDX, stored and versioned alongside the artefact. Manual SBOM generation does not scale and does not stay current.

Connect SBOMs to vulnerability monitoring. An SBOM that is not continuously matched against vulnerability feeds is an inventory, not a control. The value is in the automated match between a newly published CVE and your component list.

Identify end-of-life dependencies. Components no longer receiving upstream security patches cannot be remediated within CRA support period obligations. Surface them now.

Push requirements into supplier contracts. SBOM provision, patching commitments, and vulnerability notification obligations from your component suppliers.

Run a gap analysis against Annex I. Security by design, vulnerability handling, secure default configuration, and update mechanisms. Measure the distance to close before December 2027.

FAQ

Is an SBOM legally required under the Cyber Resilience Act?

Yes. Annex I, Part II, point 1 requires manufacturers to draw up a software bill of materials in a commonly used and machine-readable format covering at least top-level dependencies. This is the first binding legal SBOM requirement in any jurisdiction. It is enforceable from 11 December 2027.

When is the SBOM deadline?

The SBOM obligation is enforceable from 11 December 2027. However, Article 14 vulnerability reporting binds from 11 September 2026, and meeting the 24-hour reporting clock without a current component inventory is not realistically achievable. The practical deadline is September 2026.

Which SBOM format does the CRA require?

The CRA does not name a format. It requires a commonly used, machine-readable format. SPDX and CycloneDX both satisfy this. The BSI TR-03183 Part 2 specification provides a detailed data field reference aligned to CRA requirements and is the most implementable technical guidance currently available.

Do we need to include transitive dependencies?

The CRA minimum is top-level dependencies. Transitive dependencies are not expressly required. In practice, top-level-only SBOMs will not support reliable vulnerability determination, since most exploited vulnerabilities arrive transitively. Generate the full tree.

Do we have to publish our SBOM?

No. The CRA requires the SBOM to be kept current and made available to market surveillance authorities on request. There is no public disclosure obligation. Commercial customers may separately require SBOM provision under contract.

Does the CRA apply to open source?

Open source developed and supplied outside the course of a commercial activity is outside scope. Open source integrated into a commercial product is within the manufacturer’s scope, and the SBOM must cover it. The CRA also creates a lighter-touch open source software steward category for foundations supporting open source development without direct monetisation.

What happens if a vulnerability comes from a third-party component?

You must still report it. Where your product contains an actively exploited vulnerability originating from a third-party component, the notification obligation is yours as manufacturer. This is why supplier contracts should carry SBOM provision and vulnerability notification requirements.

Does the CRA apply to UK or US companies?

Yes, where the product with digital elements is placed on the EU market. Territorial scope follows market placement, not establishment. A UK or US software company selling into the EU is a manufacturer under the CRA.

How does the CRA interact with the EU AI Act?

Products with digital elements incorporating AI systems may be subject to both. The AI Act’s Article 15 requires high-risk AI systems to achieve appropriate cybersecurity resilience. The CRA imposes horizontal cybersecurity requirements on the product. Where a high-risk AI system is embedded in a product with digital elements, both frameworks apply and the CRA’s SBOM obligation covers the AI components alongside everything else.

How does the CRA interact with NIS2?

NIS2 imposes cybersecurity obligations on essential and important entities as organisations. The CRA imposes obligations on products. An organisation in scope of NIS2 that also manufactures products with digital elements faces both. Teams that have already built NIS2 incident reporting flows have a head start on the Article 14 process, since the operational shape is similar.

Yuliia Habriiel

Founder, CLO LLB, IAPP AIGP
Fact Checked & Editorial Guidelines
Reviewed by: Subject Matter Experts