Mbed TlsApplication · Arm

CVE-2026-34872

CRITICAL · 9.1 CVSS v3.1 Published 2026-04-01
Fix available
A fix is available. Upgrade to 3.6.6 or later.
See remediation →
100/100
Remediation priority · Urgent
Remotely reachable No privileges Zero-click

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
An issue was discovered in Mbed TLS 3.5.x and 3.6.x through 3.6.5 and TF-PSA-Crypto 1.0. There is a lack of contributory behavior in FFDH due to improper input validation. Using finite-field Diffie-Hellman, the other party can force the shared secret into a small set of values (lack of contributory behavior). This is a problem for protocols that depend on contributory behavior (which is not the case for TLS). The attack can be carried by the peer, or depending on the protocol by an active network attacker (person in the middle).

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Mbed TLS's finite-field Diffie-Hellman (FFDH) implementation has improper input validation that allows a malicious peer or MITM attacker to force the shared secret into a small set of predictable values, breaking contributory behavior required by certain protocols.

MitigationUpgrade Mbed TLS to version 3.6.6 or later (or 3.5.x to patched version) and TF-PSA-Crypto to patched version; audit protocols using FFDH to verify they don't depend on contributory behavior.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
Mbed TlsApplication
Affected:< 3.6.6
Tf Psa CryptoApplication
Affected:= 1.0.0

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Check Mbed TLS library version
    Inspect the library binary or headers for the version string. In code, you can call mbedtls_version_check() or check the MBEDTLS_VERSION_MAJOR, MBEDTLS_VERSION_MINOR, MBEDTLS_VERSION_PATCH macros from mbedtls/version.h. If using a package manager or build system, query the installed package version.
    Affected if The installed version is earlier than 3.6.6 (for example, 3.5.x, 3.4.x, or 2.x releases).
  2. Check Tf Psa Crypto version
    If your application uses the PSA Crypto API, query the library version via psa_get_library_version() or inspect the compiled library/binary for version markers. Check build artifacts or dependency manifests for the tf-psa-crypto version.
    Affected if The tf-psa-crypto version is exactly 1.0.0.
  3. Verify FFDH/DHM support is enabled
    Inspect the build configuration (config.h or build flags) for the presence of MBEDTLS_DHM_C or MBEDTLS_FFDHE_C preprocessor macros. These enable the Finite Field Diffie-Hellman implementation that contains the vulnerability. If using a pre-built library, check if it was compiled with DHM support.
    Affected if MBEDTLS_DHM_C or MBEDTLS_FFDHE_C is defined and the FFDH module is included in the build.
  4. Identify FFDH usage in application code
    Search source code for calls to mbedtls_dhm_read_public(), mbedtls_dhm_make_public(), or PSA DH key agreement operations (psa_key_agreement with PSA_ALG_FFDH). Review crypto configuration files to see if FFDH key exchange is configured for any TLS or custom protocols.
    Affected if The application performs DH key exchange operations or uses PSA key agreement with FFDH algorithms, and the peer public key is processed by the vulnerable code path.

You are affected if you use Mbed TLS earlier than 3.6.6 or tf-psa-crypto version 1.0.0 AND have FFDH/DHM operations enabled and actively use them in your application.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Upgrade available Upgrade to 3.6.6 or later
Fixed in 3.6.6
Interim mitigation

Upgrade Mbed TLS to version 3.6.6 or later (or 3.5.x to patched version) and TF-PSA-Crypto to patched version; audit protocols using FFDH to verify they don't depend on contributory behavior.

Recommended fix High confidence

Mbed TLS 3.6.6 (or later) / TF-PSA-Crypto version containing the fix

  1. 1. Identify all applications and systems using Mbed TLS libraries (versions prior to 3.6.6) or TF-PSA-Crypto (version 1.0.0) that utilize finite-field Diffie-Hellman (FFDH)
  2. 2. For projects using package managers (e.g., apt, yum, brew, conan, vcpkg), update the mbedtls package to version 3.6.6 or later
  3. 3. For projects using mbedtls as a submodule or direct source integration, pull the latest release from the mbedtls repository (release 3.6.6 or later)
  4. 4. Rebuild and recompile all dependent applications after updating the library
  5. 5. Test the FFDH functionality to verify the fix is working correctly
  6. 6. Deploy the updated binaries to all production environments
Caveat Mbed TLS 3.6.x releases maintain backward compatibility within the 3.x series; however, always review the release notes for any behavior changes that might affect FFDH-dependent protocols

Generated from the published advisory — verify against the referenced sources before acting.

Fix this in Mbed Tls Scoped from the published advisory
  • Consultation4.0 h
  • Implementation8.0 h
  • Testing12.0 h
  • Review / QA4.0 h
28.0 hours of engineering $4,760
Get the upgrade done

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $7,616.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2026-34872 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2026-34872 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data