CVE-2025-47917

Publication date 20 July 2025

Last updated 8 October 2025


Ubuntu priority

Cvss 3 Severity Score

8.9 · High

Score breakdown

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).

Read the notes from the security team

Status

Package Ubuntu Release Status
mbedtls 25.10 questing
Vulnerable
25.04 plucky
Vulnerable
24.04 LTS noble
Vulnerable
22.04 LTS jammy
Vulnerable
20.04 LTS focal
Vulnerable
18.04 LTS bionic
Vulnerable
16.04 LTS xenial
Vulnerable

Notes


hlibk

The fix for the issue introduced a runtime error issue and a memory leak issue, which were fixed in subsequent commits (listed in the patches).

Patch details

For informational purposes only. We recommend not to cherry-pick updates. How can I get the fixes?

Package Patch details
mbedtls

Severity score breakdown

Parameter Value
Base score 8.9 · High
Attack vector Network
Attack complexity High
Privileges required None
User interaction None
Scope Changed
Confidentiality Low
Integrity impact High
Availability impact High
Vector CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:H/A:H