
Cloud Vulnerability DB
A community-led vulnerabilities database
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).
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).
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).
mbedtls_ccm_finish().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).tag_len to exceed 16 bytes (the size of the internal authentication buffer), bypassing the missing validation check.mbedtls_ccm_finish() with the oversized tag_len; the function reads beyond the 16-byte authentication buffer into adjacent CCM context memory.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).
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).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."