← Chen Embedded SoftwareSample report preview

Firmware CRA Assessment: Gap Report

Report ID CES-2026-001 · 10 Nov 2026

ClientExample Devices GmbH (fictional)
ProductGW-200 IoT Gateway, hardware rev C
Firmware reviewedv2.4.1, ELF + linker map + full source
PlatformSTM32F429 · FreeRTOS · lwIP · Mbed TLS · Ethernet + MQTT/TLS

Scope and limitations

A point-in-time engineering review of the material listed above. It is not exhaustive: the absence of a finding does not mean the absence of a vulnerability. It describes gaps against Annex I of Regulation (EU) 2024/2847 and is not legal advice, a certification, or a determination of conformity.

1. Executive summary

The GW-200 has a good base but four gaps that would block CRA conformity, and one issue that matters today under the reporting obligation in force since 11 Sep 2026:

  1. Outdated Mbed TLS 2.16.0 (end of life) is linked into the image, with 38 known vulnerabilities.
  2. Firmware updates are not cryptographically signed.
  3. The debug port is open on production units.
  4. Every unit ships with the same web-UI password.
  5. No one is assigned to CRA vulnerability reporting.

Readiness by Annex I area

AreaStatus
Known vulnerabilities / SBOMGap
Secure boot and update integrityGap
Access control and debugGap
Confidentiality / cryptoPartial
Exploitation mitigationPartial
Vulnerability handling processGap
Data minimisation / deletionAdequate
Reporting readiness (Art. 14)Gap

Findings overview

IDFindingSeverityEffort
F-01End-of-life Mbed TLS 2.16.0 with 38 known CVEs, linked and reachableCritical1–2 wk
F-02OTA images accepted with only a CRC32 check, no signatureHigh3–5 wk
F-03SWD debug port open on production unitHigh2–3 days
F-04Shared default web-UI password on all unitsHigh1–2 wk
F-05FreeRTOS 10.0.1 with 6 known CVEsMedium3–5 days
F-06No MPU configuration; no stack protectorMedium1–2 wk
F-07TLS server certificate verification optionalMedium1 day
F-08No CVD policy, security contact or reporting ownerMedium2–3 days
F-09Debug shell compiled into release buildLow1 day

2. SBOM and known vulnerabilities

Generated from the shipped image with fwsbom using the linker map, so only components with code in the final image are listed.

ComponentVersionLinkedKnown vulnsSupported line
Mbed TLS2.16.0yes383.6.x LTS
FreeRTOS-Kernel10.0.1yes611.1 LTS
lwIP2.1.2yes22.2.x
STM32F4xx HAL1.7.8yes01.8.x

3. Findings

F-01 · End-of-life Mbed TLS 2.16.0 with known vulnerabilities Critical

CRA: Annex I Part I (2)(a), no known exploitable vulnerabilities; Part II (1)

Evidence: mbedtls/version.h → 2.16.0; ssl_tls.o, x509_crt.o, bignum.o present in the linker map. The 2.16 branch has been end of life since 2021. 38 matches, including CVE-2021-44732 (Critical; fixed in 2.16.12 / 2.28.0). The TLS client handles every cloud connection, so it is reachable from the network.

Recommendation: Upgrade to Mbed TLS 3.6 LTS. The 2.x to 3.x API changes are concentrated in the TLS client configuration (about 300 lines). Regenerate the SBOM and rescan.

The full report continues

8 more detailed findings with evidence and fixes, a prioritised roadmap to 11 Dec 2027, the attached CycloneDX SBOM, and the method appendix.

Join the assessment waitlist