Name
CVE-2025-47917
Description
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).
CWEs
Published Date
Updated Date
Workaround
-
Analysis#
Vulnerability Ratings#
8.9
CVSSv31
9.8
CVSSv31
NaN
other
Others affected components#
Resolved with patches#
mbedtls (yocto:kirkstone)
#
Title
Author
Resolve
1
Fix undocumented free() in x509_string_to_names()
=?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?=
CVE-2025-47917
mbedtls (yocto:kirkstone)
#
Title
Author
Resolve
1
Fix undocumented free() in x509_string_to_names()
=?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?=
CVE-2025-47917
mbedtls (yocto:scarthgap)
#
Title
Author
Resolve
1
Fix undocumented free() in x509_string_to_names()
=?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?=
CVE-2025-47917
mbedtls (yocto:scarthgap)
#
Title
Author
Resolve
1
Fix undocumented free() in x509_string_to_names()
=?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?=
CVE-2025-47917