Skip to content
Heist/ feed
Back to feed
Critical

Security advisory

Type: advisorySources: OSVCVE: CVE-2024-45159

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

CVE-2024-45159

core-osv · Original source

Published 5 Sept 2024, 00:00 UTC

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"
}