{"id":"CVE-2025-47917","details":"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).","modified":"2026-03-15T14:53:04.515628Z","published":"2025-07-20T19:15:23.847Z","references":[{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/08/msg00013.html"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/08/msg00025.html"},{"type":"ADVISORY","url":"https://github.com/Mbed-TLS/mbedtls-docs/blob/main/security-advisories/mbedtls-security-advisory-2025-06-7.md"},{"type":"ADVISORY","url":"https://mbed-tls.readthedocs.io/en/latest/tech-updates/security-advisories/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/armmbed/mbedtls","events":[{"introduced":"0"},{"fixed":"c765c831e5c2a0971410692f92f7a81d6ec65ec2"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"3.6.4"}]}}],"versions":["beta-oob-2","list","mbedos-16.01-release","mbedos-16.03-release","mbedos-2016q1-oob1","mbedos-2016q1-oob2","mbedos-2016q1-oob3","mbedos-release-15-11","mbedos-techcon-oob2","mbedtls-1.3.10","mbedtls-1.4-dtls-preview","mbedtls-2.0.0","mbedtls-2.1.0","mbedtls-2.1.1","mbedtls-2.1.2","mbedtls-2.10.0","mbedtls-2.11.0","mbedtls-2.12.0","mbedtls-2.13.0","mbedtls-2.13.1","mbedtls-2.14.0","mbedtls-2.15.0","mbedtls-2.15.1","mbedtls-2.16.0","mbedtls-2.17.0","mbedtls-2.18.0","mbedtls-2.19.0","mbedtls-2.19.0d1","mbedtls-2.19.0d2","mbedtls-2.19.1","mbedtls-2.2.0","mbedtls-2.2.1","mbedtls-2.20.0","mbedtls-2.20.0d0","mbedtls-2.20.0d1","mbedtls-2.21.0","mbedtls-2.22.0","mbedtls-2.22.0d0","mbedtls-2.23.0","mbedtls-2.24.0","mbedtls-2.25.0","mbedtls-2.26.0","mbedtls-2.3.0","mbedtls-2.4.0","mbedtls-2.5.0","mbedtls-2.5.1","mbedtls-2.6.0","mbedtls-2.6.0-rc1","mbedtls-2.7.0","mbedtls-2.7.0-rc1","mbedtls-2.8.0","mbedtls-2.8.0-rc1","mbedtls-2.9.0","mbedtls-3.0.0","mbedtls-3.1.0","mbedtls-3.2.0","mbedtls-3.2.1","mbedtls-3.3.0","mbedtls-3.4.0","mbedtls-3.4.1","mbedtls-3.5.0","mbedtls-3.5.1","mbedtls-3.5.2","mbedtls-3.6.0","mbedtls-3.6.1","mbedtls-3.6.2","mbedtls-3.6.3","polarssl-1.2.0","polarssl-1.2.1","polarssl-1.2.2","polarssl-1.2.3","polarssl-1.2.4","polarssl-1.2.5","polarssl-1.2.6","polarssl-1.3.0","polarssl-1.3.0-rc0","polarssl-1.3.1","polarssl-1.3.2","polarssl-1.3.3","polarssl-1.3.4","polarssl-1.3.5","polarssl-1.3.6","polarssl-1.3.7","polarssl-1.3.8","polarssl-1.3.9","v2.23.0","v2.24.0","v2.25.0","v2.26.0","v3.0.0","v3.1.0","v3.2.0","v3.2.1","v3.3.0","v3.4.0","v3.4.1","v3.5.0","v3.5.1","v3.5.2","v3.6.0","v3.6.1","v3.6.2","v3.6.3","v3.6.3.1","yotta-2.2.1","yotta-2.2.2","yotta-2.2.3","yotta-2.3.0","yotta-2.3.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-47917.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}]}