{"id":"CVE-2019-18222","details":"The ECDSA signature implementation in ecdsa.c in Arm Mbed Crypto 2.1 and Mbed TLS through 2.19.1 does not reduce the blinded scalar before computing the inverse, which allows a local attacker to recover the private key via side-channel attacks.","modified":"2026-04-02T02:59:00.887402Z","published":"2020-01-23T17:15:11.893Z","related":["MGASA-2020-0053"],"references":[{"type":"ADVISORY","url":"https://tls.mbed.org/tech-updates/security-advisories"},{"type":"ADVISORY","url":"https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2019-12"},{"type":"ADVISORY","url":"https://lists.debian.org/debian-lts-announce/2022/12/msg00036.html"},{"type":"ADVISORY","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/A3GWQNONS7GRORXZJ7MOJFUEJ2ZJ4OUW/"},{"type":"ADVISORY","url":"https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NGDACU65MYZXXVPQP2EBHUJGOR4RWLVY/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/armmbed/mbed-crypto","events":[{"introduced":"0"},{"fixed":"a337167543d930f4ea2fa26778881fa3a6b47d74"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"3.0.0"}]}},{"type":"GIT","repo":"https://github.com/armmbed/mbedtls","events":[{"introduced":"0"},{"fixed":"d8180f8d84123704d04bb9d6fea7b36facdf7f00"},{"introduced":"8be0e6db41b4a085e90cb03983f99d3a5158d450"},{"fixed":"39e2c0eeb6501980764793e8d54c49c0a42bde48"},{"introduced":"3f8d78411a26e833db18d9fbde0e2f0baeda87f0"},{"fixed":"dbcb44202c9b67184a72afd21c7191c17eee352e"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"2.7.13"},{"introduced":"2.8.0"},{"fixed":"2.16.4"},{"introduced":"2.17.0"},{"fixed":"2.20.0"}]}}],"versions":["beta-oob-2","beta-release","feature-opaque-keys-2.7-rc1","list","mbed-alpha3","mbed-os-beta","mbedcrypto-0.1.0b","mbedcrypto-0.1.0b2","mbedcrypto-1.0.0","mbedcrypto-1.0.0d0","mbedcrypto-1.0.0d1","mbedcrypto-1.0.0d2","mbedcrypto-1.0.0d3","mbedcrypto-1.0.0d4","mbedcrypto-1.0.0d5","mbedcrypto-1.0.0d6","mbedcrypto-1.0.0d7","mbedcrypto-1.1.0","mbedcrypto-1.1.0d0","mbedcrypto-1.1.0d1","mbedcrypto-1.1.0d2","mbedcrypto-1.1.1","mbedcrypto-2.0.0","mbedcrypto-2.0.0+renesas.0","mbedcrypto-2.0.0d0","mbedcrypto-2.0.0d1","mbedcrypto-2.0.0d2","mbedcrypto-2.1.0d0","mbedcrypto-3.0.0d0","mbedos-16.01-release","mbedos-16.03-release","mbedos-2016q1-oob1","mbedos-2016q1-oob2","mbedos-2016q1-oob3","mbedos-release-15-11","mbedos-techcon-oob2","mbedtls-1.3.10","mbedtls-1.3.11","mbedtls-1.3.12","mbedtls-1.3.13","mbedtls-1.3.14","mbedtls-1.3.15","mbedtls-1.3.16","mbedtls-1.3.17","mbedtls-1.3.18","mbedtls-1.3.19","mbedtls-1.3.19-rc1","mbedtls-1.3.20","mbedtls-1.3.21","mbedtls-1.3.21-rc1","mbedtls-1.3.22","mbedtls-1.3.22-rc1","mbedtls-1.4-dtls-preview","mbedtls-2.0.0","mbedtls-2.1.0","mbedtls-2.1.1","mbedtls-2.1.10","mbedtls-2.1.10-rc1","mbedtls-2.1.11","mbedtls-2.1.11-rc1","mbedtls-2.1.12","mbedtls-2.1.13","mbedtls-2.1.14","mbedtls-2.1.15","mbedtls-2.1.16","mbedtls-2.1.17","mbedtls-2.1.18","mbedtls-2.1.2","mbedtls-2.1.3","mbedtls-2.1.4","mbedtls-2.1.5","mbedtls-2.1.6","mbedtls-2.1.7","mbedtls-2.1.7-rc1","mbedtls-2.1.8","mbedtls-2.1.9","mbedtls-2.1.9-rc1","mbedtls-2.10.0","mbedtls-2.11.0","mbedtls-2.12.0","mbedtls-2.13.0","mbedtls-2.13.1","mbedtls-2.14.0","mbedtls-2.14.1","mbedtls-2.15.0","mbedtls-2.15.1","mbedtls-2.16.0","mbedtls-2.16.1","mbedtls-2.16.2","mbedtls-2.16.3","mbedtls-2.17.0","mbedtls-2.18.0","mbedtls-2.18.1","mbedtls-2.19.0","mbedtls-2.19.0d1","mbedtls-2.19.0d2","mbedtls-2.19.1","mbedtls-2.2.0","mbedtls-2.2.1","mbedtls-2.20.0d0","mbedtls-2.20.0d1","mbedtls-2.3.0","mbedtls-2.4.0","mbedtls-2.4.1","mbedtls-2.4.2","mbedtls-2.4.2-rc1","mbedtls-2.5.0","mbedtls-2.5.0-rc1","mbedtls-2.5.1","mbedtls-2.6.0","mbedtls-2.6.0-rc1","mbedtls-2.6.1","mbedtls-2.6.1-rc1","mbedtls-2.7.0","mbedtls-2.7.0-rc1","mbedtls-2.7.1","mbedtls-2.7.10","mbedtls-2.7.11","mbedtls-2.7.12","mbedtls-2.7.2","mbedtls-2.7.2-rc1","mbedtls-2.7.3","mbedtls-2.7.4","mbedtls-2.7.5","mbedtls-2.7.6","mbedtls-2.7.7","mbedtls-2.7.8","mbedtls-2.7.9","mbedtls-2.8.0","mbedtls-2.8.0-rc1","mbedtls-2.9.0","mbedtls-3.0.0p1","polarssl-0.10.0","polarssl-0.10.1","polarssl-0.11.0","polarssl-0.11.1","polarssl-0.12.0","polarssl-0.12.1","polarssl-0.13.0","polarssl-0.13.1","polarssl-0.14.0","polarssl-0.14.1","polarssl-0.14.2","polarssl-0.14.3","polarssl-0.99-pre1","polarssl-0.99-pre2","polarssl-0.99-pre3","polarssl-0.99-pre4","polarssl-0.99-pre5","polarssl-1.0.0","polarssl-1.1.0","polarssl-1.1.0-rc0","polarssl-1.1.0-rc1","polarssl-1.1.1","polarssl-1.1.2","polarssl-1.1.3","polarssl-1.1.4","polarssl-1.1.5","polarssl-1.1.6","polarssl-1.1.7","polarssl-1.1.8","polarssl-1.2.0","polarssl-1.2.0-pre1","polarssl-1.2.1","polarssl-1.2.10","polarssl-1.2.11","polarssl-1.2.12","polarssl-1.2.13","polarssl-1.2.14","polarssl-1.2.15","polarssl-1.2.16","polarssl-1.2.17","polarssl-1.2.18","polarssl-1.2.19","polarssl-1.2.2","polarssl-1.2.3","polarssl-1.2.4","polarssl-1.2.5","polarssl-1.2.6","polarssl-1.2.7","polarssl-1.2.8","polarssl-1.2.9","polarssl-1.3-alpha1","polarssl-1.3.0","polarssl-1.3.0-rc0","polarssl-1.3.1","polarssl-1.3.2","polarssl-1.3.3","polarssl-1.3.4","polarssl-1.3.5","polarssl-1.3.6","polarssl-1.3.7","polarssl-1.3.8","polarssl-1.3.9","psa-crypto-api-1.0-beta1","psa-crypto-api-1.0-beta2","psa-crypto-api-1.0-beta3","yotta-2.2.1","yotta-2.2.2","yotta-2.2.3","yotta-2.3.0","yotta-2.3.1","yotta-2.3.2"],"database_specific":{"unresolved_ranges":[{"events":[{"introduced":"0"},{"last_affected":"30"}]},{"events":[{"introduced":"0"},{"last_affected":"31"}]},{"events":[{"introduced":"0"},{"last_affected":"10.0"}]}],"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2019-18222.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"}]}