Security advisory
An issue was discovered in Mbed TLS 3.x before 3.6.1. With TLS 1.3, when a server enables optional authentication of the client, if the client-provided certificate does not have appropriate values in if keyUsage or extKeyUsage extensions, then the return value of mbedtls_ssl_get_verify_result() would incorrectly have the MBEDTLS_X509_BADCERT_KEY_USAGE and MBEDTLS_X509_BADCERT_KEY_USAGE bits clear. As a result, an attacker that had a certificate valid for uses other than TLS client authentication would nonetheless be able to use it for TLS client authentication. Only TLS 1.3 servers were affected, and only with optional authentication (with required authentication, the handshake would be aborted with a fatal alert).
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-45159
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 19:22 UTC · Revision 1
Source evidence
An issue was discovered in Mbed TLS 3.x before 3.6.1. With TLS 1.3, when a server enables optional authentication of the client, if the client-provided certificate does not have appropriate values in if keyUsage or extKeyUsage extensions, then the return value of mbedtls_ssl_get_verify_result() would incorrectly have the MBEDTLS_X509_BADCERT_KEY_USAGE and MBEDTLS_X509_BADCERT_KEY_USAGE bits clear. As a result, an attacker that had a certificate valid for uses other than TLS client authentication would nonetheless be able to use it for TLS client authentication. Only TLS 1.3 servers were affected, and only with optional authentication (with required authentication, the handshake would be aborted with a fatal alert).
osv:CVE-2024-45159
Complete source record
{
"id": "f3718492aa1009d33622e6e374bcc2dcf0b19f00c5fbe45fd09a4904c2c6ece1",
"url": "https://osv.dev/vulnerability/CVE-2024-45159",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2024-45159",
"summary": "An issue was discovered in Mbed TLS 3.x before 3.6.1. With TLS 1.3, when a server enables optional authentication of the client, if the client-provided certificate does not have appropriate values in if keyUsage or extKeyUsage extensions, then the return value of mbedtls_ssl_get_verify_result() would incorrectly have the MBEDTLS_X509_BADCERT_KEY_USAGE and MBEDTLS_X509_BADCERT_KEY_USAGE bits clear. As a result, an attacker that had a certificate valid for uses other than TLS client authentication would nonetheless be able to use it for TLS client authentication. Only TLS 1.3 servers were affected, and only with optional authentication (with required authentication, the handshake would be aborted with a fatal alert).",
"evidence": "osv:CVE-2024-45159",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2024-45159",
"aliases": [
"CVE-2024-45159"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/mbed-tls/mbedtls",
"type": "GIT",
"events": [
{
"introduced": "3aef7670b78ddebf80f4ad38b9a0059d40021832"
},
{
"fixed": "71c569d44bf3a8bd53d874c81ee8ac644dd6e9e3"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "3.x"
},
{
"fixed": "3.6.1"
}
],
"source": "DESCRIPTION"
},
{
"cpe": "cpe:2.3:a:trustedfirmware:mbed_tls:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.2.0"
},
{
"fixed": "3.6.1"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-45159.json"
}
}
],
"modified": "2026-10-28T02:30:38.952220836Z",
"provider": "osv",
"references": [
"https://github.com/Mbed-TLS/mbedtls/releases/",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45159.json",
"https://mbed-tls.readthedocs.io/en/latest/security-advisories/",
"https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2024-08-3/",
"https://nvd.nist.gov/vuln/detail/CVE-2024-45159"
],
"provider_metadata": {
"cna_assigner": "mitre",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45159.json"
}
},
"related_cves": [
{
"value": "CVE-2024-45159",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 506116,
"published_at": "2024-09-05T00:00:00+00:00"
}