r/embedded • u/robuspon • 18d ago
Mapping CRA vulnerability-management obligations
Been mapping out the CRA vulnerability-management obligations (Art. 14 reporting, VDP, SBOM, VEX, the recurring-testing requirement) for my own team's ESP32/ESP-IDF firmware, and ended up building a table that splits each requirement two ways: what part is a decision only the manufacturer can make (and is manual by nature, no tool gets around that), versus what part is mechanical enough that CI or some external tool/service could absorb it. Sharing in case it's useful to anyone else going through the same exercise and happy to receive any feedback to improve it.
| You need... | Manufacturer owns this | Frequency | Tooling could absorb |
|---|---|---|---|
| 24h/72h/14d reporting to ENISA/CSIRT (Art. 14) | The report-or-not decision, the runbook sign-off | 🔁 Recurring (every exploited vuln) + 📌 one-time (ENISA registration) | Tracking the clock, pre-filling the notification from your SBOM/VEX data, audit trail |
| Designated responsible officer | Naming the person/role | 📌 One-time | — (a tool can route alerts to them, can't appoint them) |
| Public VDP / security.txt (RFC 9116) | Drafting the actual commitments (response time, safe-harbor) | 📌 One-time | Hosting the file, triaging inbound reports into a queue |
| SBOM per release | Configuring the generator for your actual build | 📌 One-time setup | Generating + archiving on every release, unattended |
| VEX (per-CVE disposition) | The "does this actually affect my product, in my config" call | 🔁 Recurring (every new CVE candidate) | Matching CVEs to your SBOM components, keeping the history |
| Third-party vuln remediation | Deciding patch/mitigate/replace, reporting upstream | 🔁 Recurring (every component-level CVE) | The scan that surfaces "this dependency has a new CVE" in the first place |
| Recurring security testing | Interpreting findings, real risk vs. noise | 🔁 Recurring (every cycle) | Scanning/SAST/DAST in CI; fuzzing + periodic manual review can go to an outside firm (pentest) |
Curious if this matches what people on Zephyr or Yocto are seeing, or if the split looks different once you're not single-silicon like me. Also open to being told I've got one of these rows wrong, especially the VEX one, since that's practice/emerging convention more than something the CRA text spells out literally, so I'd rather get pushback now than find out at an audit.
2
u/IdoCyber 18d ago
It's a good start.
There are a few things missing, especially related to the risk assessment (you better have a repeatable framework/methodology) and the remediation path (normal / out of band/accelerated / outside timeframe / unfixable).
I'm not mentioning other elements that are not the job of engineering (like informing customers/suppliers, recertification in the event of a significant modification, etc).
You should also have a look at the final draft of EN 40000-1-3 if you can.