CRA Compliance 2026: The 11 September Reporting Deadline and What the LiteLLM Cascade Teaches Us
cybersecurity-compliance
regulatory-updates
third-party-risk-management

CRA Compliance 2026: The 11 September Reporting Deadline and What the LiteLLM Cascade Teaches Us

Article 14 of the Cyber Resilience Act applies from 11 September 2026: a 24-hour early warning for actively exploited vulnerabilities. What to fix in 30 days, and what the LiteLLM cascade exposed.

Tania POSTIL
Tania POSTIL
10 min read

The deadline that arrives before the standard does

On 11 September 2026, Article 14 of the Cyber Resilience Act starts to bite. From that date, any manufacturer placing a product with digital elements on the EU market must notify actively exploited vulnerabilities and severe security incidents: an early warning within 24 hours of becoming aware, a fuller notification within 72 hours, and a final report within 14 days for a vulnerability or one month for an incident.

Most compliance roadmaps have the CRA filed under 2027. That is where the bulk of the regulation lands: CE marking, secure-by-design essential requirements, technical documentation and the software bill of materials all apply from 11 December 2027. But reporting is decoupled, and it comes first. The obligation applies to products already on the market, not only to products placed on it after the deadline.

The gap between those two dates is the whole problem. You are required to report component-level exploitation eighteen months before you are required to document your components.

Key dates

Regulation (EU) 2024/2847 entered into force 10 December 2024. Reporting obligations under Article 14 apply from 11 September 2026. The remaining obligations, including the SBOM in technical documentation, apply from 11 December 2027.

The Commission published implementation guidance on 27 July 2026, and the notification channel, the Single Reporting Platform operated by ENISA under Article 16, is scheduled to be live on the same day the obligation starts. Current status is tracked on the Commission's CRA reporting page.

The primary text is Regulation (EU) 2024/2847. Article 14 sets the reporting duties, Article 16 establishes the Single Reporting Platform, and Annex I, Part II governs vulnerability handling and the software bill of materials.

A worked example: how a security scanner compromised an AI gateway

In March 2026 the threat actor group TeamPCP compromised LiteLLM, a widely deployed open-source AI gateway and proxy. Two malicious versions, 1.82.7 and 1.82.8, reached PyPI. They were live for roughly forty minutes.

The detail that matters is how they got there. LiteLLM was never targeted directly. Its build pipeline installed the Trivy vulnerability scanner without pinning it to a verified version, and Trivy's own release process had already been compromised for about twenty days. The poisoned scanner entered the LiteLLM build and produced poisoned LiteLLM packages. CloudSEK identified the same campaign across a third tool, Checkmarx KICS.

Read that again in control terms. The tool whose job was to find vulnerabilities in the pipeline was the vulnerability in the pipeline. It sat inside the trust boundary, ran with pipeline credentials, and was exempt from the scrutiny applied to application dependencies because it was classified as tooling rather than as code.

Diagram
The three-hop compromise cascade

A flowchart showing how a single unrevoked credential propagated through three tools. TeamPCP compromised the Trivy scanner release process. LiteLLM's CI pipeline installed the compromised Trivy version automatically because it was unpinned. The poisoned build produced malicious LiteLLM packages 1.82.7 and 1.82.8 on PyPI, live for 40 minutes. Those packages executed on every Python invocation and harvested cloud keys, repository tokens and AI service keys from build runners and developer workstations, reaching roughly 434,000 CI/CD pipelines across more than 2,500 organizations. The harvested credentials remain valid after the packages were removed.

The payload ran on every Python invocation rather than on import, so it did not require an application to actually use the library. It executed anywhere the package landed: build runners, container images, ephemeral job containers, developer laptops, cached layers. It collected whatever credentials that process could reach.

CloudSEK's reconstructed exposure dataset links more than 2,500 organizations and roughly 434,000 CI/CD pipeline runs to the affected path. The firm is explicit that a high-confidence exposure match is evidence of exposure, not proof that any given organization was breached or that data was taken. That distinction is worth preserving when you brief a board.

The forty minutes is the misleading number

A short publication window limits how many builds pulled the package. It does nothing to limit the useful life of the credentials that were taken. The FBI's July 2026 FLASH advisory (FLASH-20260702-01) warns that actors affiliated with this campaign are likely to weaponize harvested credentials long after the original intrusion.

So the containment question is less about whether you installed LiteLLM 1.82.7 during the forty-minute window, and more about which credentials were readable by any process on any runner that touched that dependency path, and whether every one of them has been rotated. Those are very different investigations, and only the second one closes the exposure.

Why this is a CRA problem, not just an incident-response problem

If your organization only consumes software, the LiteLLM cascade is a security incident and possibly a NIS2 matter. If your organization ships software, including software you sell, embed, license, or distribute as part of a connected product, it is also a reporting obligation with a clock on it.

Under the CRA, a manufacturer is whoever develops a product with digital elements and places it on the EU market under their own name or trademark. Company size is irrelevant. If you build it yourself and sell it, you are the manufacturer, which is the role carrying the heaviest obligations. Pure browser-delivered SaaS generally falls outside the CRA and into NIS2 instead, but the boundary is narrower than most teams assume once you ship an agent, an SDK, a plugin, a mobile app or firmware.

There is also an upstream duty that maps directly onto the LiteLLM chain: a manufacturer who identifies a vulnerability in a third-party component integrated into its product must notify the entity maintaining that component. In a three-hop cascade, the organization best placed to spot the compromise may be four dependencies downstream of it.

What each regime asks of you, and how fast

Regime: CRA, Art. 14

Who must reportManufacturers of products with digital elements
What triggers itActively exploited vulnerability or severe incident affecting product security
First clock24h early warning, from 11 Sept 2026

Regime: NIS2, Art. 23

Who must reportEssential and important entities
What triggers itSignificant incident affecting service provision
First clock24h early warning, in force

Regime: DORA, Art. 19

Who must reportFinancial entities
What triggers itMajor ICT-related incident
First clock4h from classification, 24h from awareness

Regime: GDPR, Art. 33

Who must reportControllers
What triggers itPersonal data breach
First clock72h to the supervisory authority

The overlap is the operational trap. A single credential-harvesting event in a build pipeline can plausibly trigger three of those four at once, on three different clocks, to three different authorities, with three different severity definitions. Organizations that treat CRA reporting as a new standalone process will miss deadlines, while those that extend an existing incident-classification and notification procedure will not.

Expert view: Alexis Hirschhorn

The failure almost always sits upstream of the reporting template, in the classification step that feeds it. Teams already running a disciplined incident-classification process under ISO/IEC 27035 absorb Article 14 as one more notification route, while teams without one discover on day one that nobody can say within 24 hours whether a vulnerability is being actively exploited. That judgement call is the whole obligation.

The 24-hour clock starts at the moment you become aware rather than when you finish investigating, so build the process to make that moment defined, logged and owned. Otherwise you will be reconstructing it retrospectively in front of a regulator.

The SBOM you do not formally need until 2027, and actually need in September

Annex I, Part II, point 1 of the CRA requires manufacturers to identify and document the components in their products, including by drawing up a software bill of materials in a commonly used machine-readable format, covering at least the top-level dependencies. That requirement applies from December 2027.

The September 2026 obligation makes it a de facto 2026 requirement anyway. Article 14 asks you to report an actively exploited vulnerability affecting your product within 24 hours of becoming aware. When a compromise surfaces in a library three levels deep in a dependency tree, the only way to answer "which of our products and which versions contain this component" inside that window is to have already answered it.

Top-level dependencies are the stated floor, not a safe target. The LiteLLM cascade would have been invisible in a top-level-only SBOM of a downstream product: Trivy was build tooling, not an application dependency, and LiteLLM may itself have been transitive. If your inventory stops at direct dependencies, it will not answer the question the regulation asks.

SBOM

A machine-readable inventory of the components in a piece of software, with version and supplier information. CycloneDX and SPDX are the two formats in common use. Germany's BSI TR-03183-2 sets out a detailed technical interpretation of the CRA's expectations and is the most concrete guidance currently available.

Four gaps that break SBOM coverage in practice

Build tooling is not in the SBOM. Scanners, linters, formatters, test harnesses and release automation execute with pipeline credentials and are usually excluded from dependency inventories entirely. This is precisely the gap TeamPCP used.

The SBOM describes the release, not the build environment. Two artefacts with an identical bill of materials can be produced by pipelines with very different exposure, because the compromise landed in the environment rather than the shipped code.

Caches and base images drift from the manifest. A pinned dependency in a lockfile is not the same as a pinned dependency in the layer that actually ran, once you account for base images, ephemeral runners and warm caches.

Nobody owns freshness. An SBOM generated at release and never regenerated answers a question about the past. The 24-hour clock is a question about now.

Scope: three questions that settle it

Do you place a product with digital elements on the EU market under your own name or trademark? If yes, you are a manufacturer and Article 14 applies to you from 11 September 2026, including for products already sold.

Is the product still on the EU market on or after that date? Legacy products are in scope for reporting. The heavier essential requirements only reach existing products upon substantial modification from December 2027.

Is it genuinely out of scope? Pure browser-delivered SaaS is generally outside the CRA, and non-commercial open source is exempt, though the CRA creates a lighter-touch "open-source software steward" role rather than a blanket exclusion, and commercial supply of open-source components pulls you back in. Being outside the CRA usually means being inside NIS2, so this is rarely a route to having no obligation at all.

Penalties

Breaches of the essential requirements or manufacturer obligations carry fines of up to €15 million or 2.5% of total worldwide annual turnover, whichever is higher.

The Article 14 clock, end to end

[@portabletext/react] Unknown block type "diagramBlock", specify a component for it in the `components.types` prop

Notification goes to the CSIRT designated as coordinator in the member state where you have your main establishment, and is made available to ENISA at the same time. You report once, through the Single Reporting Platform, rather than to each authority separately.

Note what Article 14 does not require. It is not a duty to report every CVE. It applies to vulnerabilities that are being actively exploited in the wild, and to severe incidents affecting the security of the product. Nor does the CRA itself require you to notify business customers, but review your contracts, because customers increasingly impose exactly that by agreement, on tighter timelines than the regulation.

Patching is not part of the September obligation

The duty to remediate and distribute security updates over the support period applies from 11 December 2027. From September 2026 you must report, and reporting a vulnerability you cannot yet fix is the expected case. Do not delay a notification while waiting for a patch.

Where CRA meets NIS2 and the supply chain

NIS2 Article 21(2)(d) already requires essential and important entities to take measures addressing supply chain security, including the security-related aspects of relationships with direct suppliers and service providers. The CRA approaches the same risk from the opposite end: it regulates what those suppliers must build and disclose.

For most organizations both apply, in different roles. You are a NIS2 entity managing your suppliers, and a CRA manufacturer being managed by your customers. The evidence that satisfies one largely satisfies the other: a component inventory, a supplier assessment process, a vulnerability-handling procedure and a notification runbook, provided it was designed once rather than three times.

This is where ISO 28000 earns its place. It provides a management system for security in the supply chain, which is the structure most organizations lack when they try to answer supplier-risk questions consistently across procurement, engineering and compliance. The alternative, a spreadsheet of vendor questionnaires, does not survive a cascade like LiteLLM, because the compromised party was never a vendor anyone had assessed.

Mapping the obligation to the capability, and the capability to a certification

Obligation: Classify and notify within 24h

Capability requiredIncident classification and reporting process
Where it usually breaksNo defined "moment of awareness"
Certification pathISO/IEC 27035 Lead Incident Manager

Obligation: Know your components

Capability requiredSecure development lifecycle and SBOM discipline
Where it usually breaksBuild tooling excluded from inventory
Certification pathISO/IEC 27034 Lead Application Security Implementer

Obligation: Manage supplier and component risk

Capability requiredSupply chain security management system
Where it usually breaksAssessment covers vendors, not dependencies
Certification pathISO 28000 Lead Implementer

Obligation: Meet NIS2 Art. 21(2)(d)

Capability requiredEntity-level cybersecurity risk measures
Where it usually breaksTreated as a documentation exercise
Certification pathNIS 2 Directive Lead Implementer

Obligation: Own the programme end to end

Capability requiredGovernance across all of the above
Where it usually breaksNo single accountable owner
Certification pathLead Cybersecurity Manager

A 30-day readiness plan

The realistic goal before 11 September is not full CRA conformity. It is being able to make a defensible notification on time. That is a much smaller scope, and it is achievable in the time remaining.

CRA Article 14 readiness — 30 days
Work in this order. Each step is a prerequisite for the one after it.
  • Determine whether you are a manufacturer under the CRA, and list every product still on the EU market that falls in scope
  • Identify your CSIRT coordinator, the one in the member state of your main establishment, and register for the Single Reporting Platform
  • Define and document the "moment of awareness": who can declare it, how it is logged, and what starts the 24-hour clock
  • Assign a named owner and a named deputy for the notification, with out-of-hours coverage
  • Generate an SBOM for every in-scope product, in CycloneDX or SPDX, and include build tooling as well as application dependencies
  • Wire the SBOM to a vulnerability feed so that "which products contain component X" is answerable in minutes
  • Write the classification rule that distinguishes an actively exploited vulnerability from a routine CVE, and rehearse it against a real case
  • Map the CRA notification onto your existing NIS2, DORA and GDPR incident paths so one event does not spawn three uncoordinated processes
  • Establish the upstream notification route for vulnerabilities found in third-party components
  • Run a tabletop using the LiteLLM cascade as the scenario, and time yourself to the 24-hour mark

The tabletop is the step teams skip and the one that finds the real gaps. Run it with the scenario stated as it actually arrives: a public advisory names a package your build pipeline uses, you do not yet know whether it reached production, and the clock is already running.

Start with the credential inventory, not the dependency inventory

For the LiteLLM class of attack, the exposure is defined by what a compromised process could read, not by what it imported. Enumerate what credentials are reachable from each build runner: cloud keys, registry tokens, source-control tokens, model and API keys, anything retrievable from an instance metadata service. That list is both your incident-response scope and your strongest single control improvement.

What to take from this

Despite the framing it has received, the LiteLLM compromise is less a story about AI than about a build pipeline that trusted its own tooling, an unrevoked credential and a dependency chain nobody had mapped. The AI layer made it worse only because AI gateways sit unusually close to credentials for cloud accounts, model providers and vector stores.

What changes on 11 September 2026 is that the same event now carries a 24-hour notification duty for anyone who ships software into the EU. The regulation asks you to know quickly whether the cascade reached you and to say so, rather than to prevent it happening at all.

That is a component-inventory problem and an incident-classification problem, well before it is a regulatory problem. Organizations that already run both as disciplines will find Article 14 a small addition. The rest have about thirty days.

Frequently Asked Questions

CRA reporting obligations under Article 14 apply from 11 September 2026. Manufacturers must submit an early warning within 24 hours of becoming aware of an actively exploited vulnerability or severe incident, a fuller notification within 72 hours, and a final report within 14 days for a vulnerability or one month for an incident.

Not formally. The SBOM requirement in Annex I, Part II, point 1 applies from 11 December 2027. In practice you need one by September 2026, because you cannot identify which products contain an exploited component within 24 hours without a component inventory.

Anyone who develops a product with digital elements and places it on the EU market under their own name or trademark. Company size is irrelevant, and the role carries the heaviest obligations under the regulation.

Yes for reporting. Article 14 applies to products still on the EU market on or after 11 September 2026, including those sold earlier. The essential requirements only reach existing products upon substantial modification from December 2027.

Non-commercial open source is exempt, but the CRA creates a lighter-touch open-source software steward role rather than a blanket exclusion. Supplying open-source components commercially brings you into scope.

In March 2026 the TeamPCP group compromised the Trivy scanner release process. LiteLLM's build pipeline installed the poisoned scanner unpinned, producing malicious LiteLLM packages on PyPI that were live for around 40 minutes. CloudSEK links more than 2,500 organizations and roughly 434,000 CI/CD pipelines to the exposure.

Related Training

Courses referenced in this article

Related Questions

Expert answers referenced in this article

Get Certified

ISO 27001, NIS2, AI governance & more. Join 2,500+ professionals.

View Courses
Ask our AI Assistant

Related Articles

Continue exploring topics that matter to your organization

We use cookies to improve your experience

Necessary cookies are always active. You can accept, reject non-essential cookies, or customize your preferences.