nRF Connect SDK fork of Mbed TLS in Zephyr firmware: identifiers and CRA notes
·
What it is
nRF Connect SDK fork of Mbed TLS
Notes on this component
`upstream.vendor` is `arm`, the CPE's own upstream vendor, not Nordic Semiconductor: Nordic's SDK vendors a fork of Arm's project, and a generated SBOM should name the fork's real upstream as supplier (`components[].supplier`), not the SDK that merely carries it. NCS's fork of Mbed TLS, at `repo-path: sdk-mbedtls`, `path: modules/crypto/mbedtls` — a second fork on top of Zephyr's own (the plain `mbedtls` row), carrying Nordic's PSA driver glue for the CryptoCell and Oberon back ends. A build may link this fork and still do its actual cryptographic operations through `nordic-cc3xx-crypto`'s precompiled driver, so an Mbed TLS version alone does not describe what signs or decrypts anything on a Nordic part. The upstream advisories are filed under arm:mbed_tls and trustedfirmware:mbed_tls and the fork is not tracked separately; the most serious are CVE-2026-34877 (a modified serialized SSL session or context induces memory corruption and can reach arbitrary code execution; 2.19.0 through 3.6.5), CVE-2026-34873 (client impersonation on TLS 1.3 session resumption; 3.5.0 through 4.0.0) and CVE-2026-25833 (a buffer overflow in x509_inet_pton_ipv6(); 3.5.0 through 3.6.5), all three fixed upstream in 3.6.6. Whether this fork has taken the 3.6.6 fixes was NOT checked for this row: Nordic publishes no advisory feed for sdk-mbedtls, and the ncs-vX tag a build pins does not state which upstream version it merged. That tag is the SDK's release number, not an Mbed TLS version: at `ncs-v3.4.0` the fork's `include/mbedtls/build_info.h` says Mbed TLS 4.1.0 (github.com/nrfconnect/sdk-mbedtls/blob/ncs-v3.4.0/include/mbedtls/build_info.h, read 11 October 2026). A west manifest does not carry that file, so no Mbed TLS version is read from such a tag.
Where it hides in a firmware SBOM
Zephyr lists a west module by its west name, with no PURL or CPE. Vulnerability feeds cannot find it from that listing alone, which is why the SBOM check adds the identifiers below.
The identifiers we assign
pkg:github/nrfconnect/sdk-mbedtls@{version}cpe:2.3:a:arm:mbed_tls:{version}:*:*:*:*:*:*:*
{version} is filled in from your build. The version is read from a version file in the upstream source.
The SBOM check adds these identifiers to a component your build listed without them.
Honest gaps
Vendor: arm.
Where this row comes from
https://nvd.nist.gov/vuln/detail/CVE-2026-34877
Checked on 10 October 2026.
Known vulnerabilities
Not checked yet
Vulnerability data changes daily. Check the version you ship in the SBOM check.
CRA notes
- List this component in your SBOM. Annex I, Part II (1):
- Ship the version with no known exploitable vulnerabilities at release. Annex I, Part I (2(a)):
Source: Annex I of Regulation (EU) 2024/2847 (Cyber Resilience Act), legal state 2026.10.13-1.
Related Zephyr components
No related components yet.
Guides that mention nRF Connect SDK fork of Mbed TLS
Next step
Check the nRF Connect SDK fork of Mbed TLS you ship for known vulnerabilitiesDeclarable prepares documentation for you to review. It is not legal advice and not certification. You sign your own declaration of conformity.