Skip to content
Heist/ feed
Back to feed
Medium

Security advisory

Type: advisorySources: OSVCVE: CVE-2021-36647

Use of a Broken or Risky Cryptographic Algorithm in the function mbedtls_mpi_exp_mod() in lignum.c in Mbed TLS Mbed TLS all versions before 3.0.0, 2.27.0 or 2.16.11 allows attackers with access to precise enough timing and memory access information (typically an untrusted operating system attacking a secure enclave such as SGX or the TrustZone secure world) to recover the private keys used in RSA.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2021-36647
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 08:46 UTC · Revision 1

Source evidence

CVE-2021-36647

core-osv · Original source

Published 17 Jan 2023, 21:15 UTC

Use of a Broken or Risky Cryptographic Algorithm in the function mbedtls_mpi_exp_mod() in lignum.c in Mbed TLS Mbed TLS all versions before 3.0.0, 2.27.0 or 2.16.11 allows attackers with access to precise enough timing and memory access information (typically an untrusted operating system attacking a secure enclave such as SGX or the TrustZone secure world) to recover the private keys used in RSA.

osv:CVE-2021-36647
Complete source record
{
  "id": "d55e006a5ada91ce6c66da93527c309b107082c08191fd0ec2757709c98a59fb",
  "url": "https://osv.dev/vulnerability/CVE-2021-36647",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2021-36647",
    "summary": "Use of a Broken or Risky Cryptographic Algorithm in the function mbedtls_mpi_exp_mod() in lignum.c in Mbed TLS Mbed TLS all versions before 3.0.0, 2.27.0 or 2.16.11 allows attackers with access to precise enough timing and memory access information (typically an untrusted operating system attacking a secure enclave such as SGX or the TrustZone secure world) to recover the private keys used in RSA.",
    "evidence": "osv:CVE-2021-36647",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2021-36647",
      "aliases": [
        "CVE-2021-36647"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/Mbed-TLS/mbedtls",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "aa1d4e097342af799ba80dfb13640efef498227c"
                },
                {
                  "introduced": "3f8d78411a26e833db18d9fbde0e2f0baeda87f0"
                },
                {
                  "fixed": "f71e2878084126737cc39083e1e15afc459bd93d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "2.16.11"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:arm:mbed_tls:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.17.0"
                      },
                      {
                        "fixed": "2.27.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.26.0",
            "mbedtls-2.26.0",
            "v2.16.10",
            "mbedtls-2.16.10",
            "v2.16.9",
            "mbedtls-2.16.9",
            "v2.24.0",
            "mbedtls-2.24.0",
            "v2.16.8",
            "mbedtls-2.16.8",
            "mbedtls-2.19.1",
            "mbedtls-2.16.6",
            "mbedtls-2.22.0d0",
            "mbedtls-2.16.5",
            "mbedtls-2.21.0",
            "mbedtls-2.20.0",
            "mbedtls-2.16.4",
            "mbedtls-2.20.0d0",
            "mbedtls-2.16.3",
            "mbedtls-2.19.0d2",
            "mbedtls-2.19.0",
            "mbedtls-2.19.0d1",
            "mbedtls-2.16.2",
            "mbedtls-2.16.0",
            "mbedtls-2.14.0",
            "mbedtls-2.13.1",
            "mbedtls-2.13.0",
            "mbedtls-2.12.0",
            "mbedtls-2.11.0",
            "mbedtls-2.10.0",
            "mbedtls-2.7.0",
            "mbedtls-2.9.0",
            "mbedtls-2.8.0",
            "mbedtls-2.8.0-rc1",
            "mbedtls-2.7.0-rc1",
            "mbedtls-2.6.0",
            "mbedtls-2.6.0-rc1",
            "mbedtls-2.5.1",
            "mbedtls-2.5.0",
            "mbedtls-2.4.0",
            "mbedtls-2.2.1",
            "yotta-2.3.1",
            "mbedtls-2.3.0",
            "mbedtls-2.2.0",
            "mbedos-release-15-11",
            "mbedos-techcon-oob2",
            "mbedtls-2.1.2",
            "mbedtls-2.1.0",
            "mbedtls-2.1.1",
            "beta-oob-2",
            "mbedtls-2.0.0",
            "polarssl-1.3.9",
            "polarssl-1.3.8",
            "polarssl-1.3.7",
            "polarssl-1.3.6",
            "polarssl-1.3.5",
            "polarssl-1.3.4",
            "polarssl-1.3.3",
            "polarssl-1.3.2",
            "polarssl-1.3.1",
            "polarssl-1.3.0",
            "polarssl-1.3.0-rc0",
            "polarssl-1.2.6",
            "polarssl-1.2.5",
            "polarssl-1.2.4",
            "polarssl-1.2.2",
            "polarssl-1.2.1",
            "polarssl-1.2.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-36647.json"
          }
        },
        {
          "ranges": [
            {
              "repo": "https://github.com/mbed-tls/mbedtls",
              "type": "GIT",
              "events": [
                {
                  "introduced": "8b3f26a5ac38d4fdccbc5c5366229f3e01dafcc0"
                },
                {
                  "fixed": "8df2f8e7b9c7bb9390ac74bb7bace27edca81a2b"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:trustedfirmware:mbed_tls:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.28.0"
                      },
                      {
                        "fixed": "3.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-36647.json"
          }
        }
      ],
      "modified": "2026-10-24T10:50:07.968996972Z",
      "provider": "osv",
      "references": [
        "https://lists.debian.org/debian-lts-announce/2025/06/msg00034.html",
        "https://github.com/ARMmbed/mbedtls/releases/",
        "https://kouzili.com/Load-Step.pdf",
        "https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2021-07-1"
      ],
      "provider_metadata": {}
    },
    "related_cves": [
      {
        "value": "CVE-2021-36647",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 441999,
  "published_at": "2023-01-17T21:15:10.88+00:00"
}