CVE-2026-34876
Mbed TLS vulnerability analysis and mitigation

Overview

CVE-2026-34876 is an out-of-bounds read vulnerability in Mbed TLS affecting the mbedtls_ccm_finish() function in library/ccm.c. It allows network-accessible attackers to obtain adjacent CCM context data in memory by invoking the multipart CCM API with an oversized tag_len parameter. The vulnerability affects Mbed TLS 3.x versions from 3.1.0 up to (but not including) 3.6.6; Mbed TLS 4.x contains the same missing validation in its internal implementation but does not expose the affected function as a public API. It carries a CVSS v3.1 base score of 7.5 (High) (GitHub Advisory, Mbed TLS Advisory).

Technical details

The root cause is classified as CWE-125 (Out-of-bounds Read): the mbedtls_ccm_finish() function in library/ccm.c does not validate the tag_len parameter against the size of the internal 16-byte authentication tag buffer before performing a memory copy or read operation. An attacker (or a malicious caller) can supply a tag_len value larger than 16 bytes, causing the function to read beyond the bounds of the authentication buffer and into adjacent CCM context memory. Exploitation requires that the application directly invokes the public multipart CCM API — specifically mbedtls_ccm_finish() — with an attacker-controlled or untrusted tag_len value (GitHub Advisory, Mbed TLS Advisory).

Impact

Successful exploitation results in disclosure of sensitive adjacent memory contents from the CCM context structure, which may include cryptographic keying material, nonces, or other sensitive state data. The confidentiality impact is rated High, while there is no integrity or availability impact. The vulnerability is limited in scope to applications that use the multipart CCM API in Mbed TLS 3.x, but in such contexts it could undermine the confidentiality guarantees of the cryptographic library (GitHub Advisory, Mbed TLS Advisory).

Exploitation steps

  1. Identify target application: Locate an application that uses Mbed TLS 3.1.0–3.6.5 and directly invokes the public multipart CCM API, specifically mbedtls_ccm_finish().
  2. Control the tag_len parameter: Identify an application code path where the tag_len argument passed to mbedtls_ccm_finish() can be influenced by attacker-supplied input (e.g., via a network protocol field, configuration parameter, or API input).
  3. Supply an oversized tag_len: Craft input that causes tag_len to exceed 16 bytes (the size of the internal authentication buffer), bypassing the missing validation check.
  4. Trigger the out-of-bounds read: Invoke mbedtls_ccm_finish() with the oversized tag_len; the function reads beyond the 16-byte authentication buffer into adjacent CCM context memory.
  5. Obtain leaked data: Capture the returned tag data, which now contains bytes from adjacent memory that may include sensitive cryptographic context information (GitHub Advisory, Mbed TLS Advisory).

Mitigation and workarounds

The primary remediation is to upgrade Mbed TLS 3.x to version 3.6.6 or later, which adds proper validation of the tag_len parameter in mbedtls_ccm_finish(). Mbed TLS 4.x users should also update to the corresponding patched release. As a temporary workaround where immediate patching is not feasible, applications should avoid passing untrusted or unvalidated tag_len values to mbedtls_ccm_finish(), and developers should audit all uses of the multipart CCM API to ensure tag_len is bounded to a maximum of 16 bytes (Mbed TLS Advisory, GitHub Advisory).

Community reactions

The vulnerability received routine coverage from automated vulnerability tracking services and security feeds shortly after disclosure on April 2, 2026. A brief mention appeared on Mastodon via The Hacker Wire, and the issue was picked up by OpenSUSE security announcements and FreeBSD VuXML. Splunk also issued an advisory (SVD-2026-0512) referencing this CVE. No significant researcher commentary or broader media coverage has been identified (Mbed TLS Advisory).

Additional resources


SourceThis report was generated using AI

Related Mbed TLS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-54441NONEN/A
  • Mbed TLS logoMbed TLS
  • mbedtls-devel
NoYesJul 23, 2026
CVE-2026-54435NONEN/A
  • Mbed TLS logoMbed TLS
  • mbedtls
NoYesJul 23, 2026
CVE-2026-50713NONEN/A
  • Mbed TLS logoMbed TLS
  • mbedtls
NoYesJul 23, 2026
CVE-2026-50640NONEN/A
  • Mbed TLS logoMbed TLS
  • mbedtls
NoYesJul 23, 2026
CVE-2026-50588NONEN/A
  • Mbed TLS logoMbed TLS
  • mbedtls-devel
NoYesJul 23, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management