CVE-2025-47917 json
Mbed TLS before 3.6.4 allows a use-after-free in certain situations of applications that are...
published 2025-07-20 15 mo ago modified 2026-07-23 3 mo ago also EUVD-2025-22035 , JLSEC-2025-231
- cvss
- 8.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 2.4%
- EPSS 2.4% chance of exploitation in 30 days, percentile 84%
- public exploits
- 1
- Exploit-DB
Summary
Mbed TLS before 3.6.4 allows a use-after-free in certain situations of applications that are developed in accordance with the documentation. The function mbedtls_x509_string_to_names() takes a head argument that is documented as an output argument. The documentation does not suggest that the function will free that pointer; however, the function does call mbedtls_asn1_free_named_data_list() on that argument, which performs a deep free(). As a result, application code that uses this function (relying only on documented behavior) is likely to still hold pointers to the memory blocks that were freed, resulting in a high risk of use-after-free or double-free. In particular, the two sample programs x509/cert_write and x509/cert_req are affected (use-after-free if the san string contains more than one DN).
Patch / fix
- julia MbedTLS_jll 2.28.1010+0
- Mbed mbedtls 3.6.4
- mbedtls Debian 14, Debian 13 3.6.4-1
debian advisories DEBIAN-CVE-2025-47917
- mbedtls Ubuntu Pro 18.04 LTS 2.8.0-1ubuntu0.1~esm1
- mbedtls Ubuntu Pro 20.04 LTS 2.16.4-1ubuntu2+esm1
- mbedtls Ubuntu Pro 22.04 LTS 2.28.0-1ubuntu0.1~esm1
- mbedtls Ubuntu Pro 24.04 LTS 2.28.8-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2025-47917
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- mbedtls openSUSE Leap 16.0 3.6.6-bp160.1.1
opensuse advisories openSUSE-SU-2026:21144-1
- mbedtls Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 3.6.4-r0
- mbedtls3 Alpine 3.24 3.6.4-r0
alpine advisories ALPINE-CVE-2025-47917
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-47917 updated cvss 8.9
mbedtls: Mbed TLS Use-After-Free Vulnerability
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Timeline
- Published
- First public exploit (EDB-52427)
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 15 mo ago
Exploit prediction
2.44% chance of exploitation in the next 30 days, higher than 84% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- EDB-52427 Mbed TLS 3.6.4 - Use-After-Free local, 2025-09-16
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:H |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| julia | MbedTLS_jll | <2.28.1010+0 |
2.28.1010+0 |
Affected products
- Mbed mbedtls
Classification
- Weakness
-
- CWE-416 Use After Free
References
-
mbed-tls.readthedocs.io
/en/latest/tech-updates/security-advisories/
vendor-advisory, web
-
github.com
/Mbed-TLS/mbedtls-docs/blob/main/security-advisories/mbedtls-security-advisory-2025-06-7.md
mitigation, third-party-advisory, web
-
lists.debian.org
/debian-lts-announce/2025/08/msg00025.html
web
-
lists.debian.org
/debian-lts-announce/2025/08/msg00013.html
web
Sources
- CVE List CVE-2025-47917
- NVD CVE-2025-47917
- OSV JLSEC-2025-231
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.