Skip to content
Distr
Book DemoStart free trialLogin

What Software Vendors Must Monitor Under the CRA (and the Reporting Clocks)

The four monitoring jobs the Cyber Resilience Act creates for software vendors, and the 24-hour, 72-hour, and 14-day reporting cascade for actively exploited vulnerabilities, with a worked example.

Last verified: July 21, 2026

Last verified: July 2026. Based on Regulation (EU) 2024/2847. The Article 14 reporting obligations apply from September 11, 2026, including for products placed on the market before December 2027.

Every CRA summary tells you to “monitor vulnerabilities.” Almost none of them say what that means on a Tuesday. Annex I Part II makes vulnerability handling a continuous duty for the whole support period, which is at least five years (Article 13(8)). Article 14 then puts a clock on the worst case: if you become aware that a vulnerability in your product is being actively exploited, the first report is due in 24 hours.

In practice this breaks down into four separate monitoring jobs. They use different data sources, they alert different people, and only one of them is what most vendors already do.

The clocks, with a worked example

Say a proof-of-concept exploit for a vulnerability in your product drops on a Monday at 09:00 and you learn about it an hour later, together with reports that it is being used in the wild. Here is your week:

Monday 10:00: you become aware of active exploitation

By Tuesday 10:00: early warning to your designated CSIRT and ENISA via the Single Reporting Platform

By Thursday 10:00: vulnerability notification with general information on the product, the exploit, and any corrective measures

In parallel: inform affected users of the vulnerability and what to do

Corrective measure available, say the following Monday

14 days after the patch is available: final report

The same 24h/72h cascade applies to severe incidents affecting the security of your product, with the final report due within one month of the incident notification, rather than 14 days after the fix.

Two things about the trigger matter more than the deadlines. First, the clock starts at awareness of active exploitation, not at CVE publication and not at patch availability. If exploitation was public on Monday and you found out on Thursday, you spent your response budget not knowing. Second, the obligation applies to products already in the field. There is no grandfather clause for the version you shipped in 2024.

Job 1: monitor your own dependencies

New CVEs land against old releases every day. A scan at release time tells you what was known at release time, which is worth little three months later. The Annex I Part II duties to identify and document components (including a machine-readable SBOM covering at least top-level dependencies) and to remediate vulnerabilities without delay only work if scanning is continuous.

The workable setup: generate an SBOM per release, keep SBOMs for every supported release, and rescan all of them on a schedule, daily is normal. Tools like osv-scanner, Trivy, and Grype are free and run fine in CI or a nightly job. The part that is not free is the decision process behind the scan: who triages a new finding, who decides whether your product is actually affected, and who kicks off a patch release. Remember that the CRA expects security updates separate from feature updates where feasible, so “it is fixed on main” does not close the finding for customers on last year’s version.

One more duty hides here. Under Article 13(5) and (6), if you find a vulnerability in a component you integrate, including an open-source component, you must report it upstream to the maintainer, and if you develop a fix, you share the code. Your dependency monitoring feeds that obligation too.

Job 2: monitor exploitation signals

This is the job most vendors skip, and it is the one wired directly to the 24-hour clock. Knowing a CVE exists in your dependency tree is job 1. Knowing that someone is exploiting a vulnerability in your product in the wild is what triggers Article 14.

Realistic sources: CISA KEV for confirmed exploited CVEs, ENISA’s EUVD, NVD, OSV.dev, GitHub security advisories, distro security trackers, and the PSIRT feeds of the vendors whose components you embed. None of these will name your product for you. The monitoring task is cross-referencing: when a CVE gets flagged as exploited, does it map to a component in any supported release of your product? That mapping is exactly what your stored SBOMs are for.

Assign this to a person or rotation, not a Slack channel nobody reads. The early warning itself is short. Getting a human to notice within hours, on a weekend too, is the hard part.

Job 3: monitor which customers run which version

Article 14’s final report and the duty to inform users of vulnerabilities and corrective measures both assume you can answer one question: who is affected? For SaaS that is a query against your own infrastructure. For self-hosted and on-prem products it depends entirely on whether your distribution channel tracks versions per customer.

If customers pull from an authenticated registry or package repo, the pull logs tell you what each customer last fetched. If you run agents in customer environments, they can report what is currently deployed, which is better, because “downloaded 2.4.1” and “running 2.4.1” are different claims. If you ship zip files by email, you have a spreadsheet and a guess.

A vendor with 30 on-prem customers needs this question answered before the clock starts, not during hour six of a 24-hour window. Advisory messages under Annex I Part II point (8) also land better when they go to the customers on affected versions instead of everyone.

Job 4: monitor your CVD inbox

Annex I Part II requires a coordinated vulnerability disclosure policy and a published contact address for reporting. Both are pointless if nobody reads the mailbox. External researchers are a top source of the exact reports that start clocks, so treat security@ like a pager, with an acknowledgment SLA measured in hours and a named owner. A security.txt file pointing at it costs ten minutes.

The monitoring table

What to monitorWhyExample tooling
Your dependencies, continuously, across all supported releasesNew CVEs hit old releases; remediation “without delay” (Annex I Part II)osv-scanner, Trivy, Grype against stored SBOMs in CI or nightly jobs
Exploitation signalsThe 24h clock starts at awareness of active exploitation (Article 14)CISA KEV, EUVD, NVD, OSV.dev, GitHub advisories, upstream PSIRT feeds
Deployed versions per customerFinal report, user notification, and targeted advisories need to know who is affectedRegistry pull logs, deployment agents, license or telemetry data where it exists
Your CVD intakeResearcher reports trigger the same duties; a CVD policy and contact address are mandatorysecurity.txt, a monitored security@ mailbox, a disclosure platform if volume justifies it

An honest note on all of this: most of it is process, not tooling. The scanners are free and take an afternoon to wire up. What passes or fails an Article 14 test is whether a specific person sees the KEV entry on Saturday, whether the affected-customer list exists before the incident, and whether the draft early-warning template is written before you need it. Buy tools last.

Frequently Asked Questions

When exactly does the 24-hour clock start?

When you become aware that a vulnerability in your product is being actively exploited. Not when the CVE is published, not when a patch exists. Awareness of a severe incident affecting the product's security starts the same cascade.

Do the reporting deadlines apply to products we shipped years ago?

Yes. The Article 14 obligations apply from September 11, 2026 and cover products placed on the market before the full CRA obligations start in December 2027.

Do we have to report every CVE found in a dependency?

No. Article 14 covers actively exploited vulnerabilities in your product and severe incidents. Ordinary dependency CVEs fall under the Annex I Part II handling duties: remediate without delay and ship the fix as a security update. If you find the vulnerability in an integrated component, report it upstream under Article 13(6).

Do we have to publish details of fixed vulnerabilities?

Yes, once the security update is available, including a description of the vulnerability and information for users. You can delay publication in justified cases until users have had a reasonable chance to patch.

Is a scan at each release enough?

No. The support period runs at least five years and vulnerabilities are discovered against your old releases throughout it. Continuous rescanning of every supported release is the baseline.

What happens if we miss a deadline?

Breaches of the essential requirements carry fines up to EUR 15 million or 2.5% of worldwide turnover. Nobody expects perfection in the first year, but "we had no process" is the worst possible position.

Turn self-hosted into a repeatable sales motion

From your first on-prem POC to dozens of enterprise customers, the Distr platform gives you the tooling to deploy, update and manage self-hosted customers, backed by a team that supports you hands-on with the deployment knowledge and implementation help.

Proof from teams shipping self-hosted software

GovCloud deployments without extra overhead

"Distr gives us a clean way to deploy and update our software in GovCloud without breaking security or adding operational overhead."

Corbin Klett

Corbin Klett

Co-Founder, Artifact

Manual operations become one-click workflows

"Our main goal is to simplify the daily operations. No more manual installations, updates, or rollbacks — everything can now be handled with a single click with Distr."

Jefferson Rodrigues

Jefferson Rodrigues

Co-Founder & CTO, Lerian

Read case study

Updates that took days now take minutes

"Distr eliminated nearly all deployment headaches. Updates that used to take days now take minutes."

Ansh Gupta

Ansh Gupta

CTO, Sophris.ai

Read case study

One place for every self-hosted customer

"Having a dedicated space for all our self-hosted customers that can manage authenticated registry access is great."

Derek Reynolds

Derek Reynolds

Product Engineer, Basedash

Read case study

From guided setup to scalable delivery

"We went from hands-on Docker setup calls to an install flow that can be running in minutes."

Daniel Kasen

Daniel Kasen

Chief Engineer for Customer Success, Ozgar AI

Read case study

Self-hosted without the engineering tax

"Weave has a fully self-hosted offering. It's a huge unlock for us, but we almost didn't build it. Distr made such a huge difference in getting us there."

Andrew Churchill

Andrew Churchill

Co-Founder & CTO, Weave

Read case study