An issue was discovered in Arm Mbed TLS before 2.16.6 and 2.7.x before 2.7.15. An attacker that can get precise enough side-channel measurements can recover the long-term ECDSA private key by (1) reconstructing the projective coordinate of the result of scalar multiplication by exploiting side channels in the conversion to affine coordinates; (2) using an attack described by Naccache, Smart, and Stern in 2003 to recover a few bits of the ephemeral scalar from those projective coordinates via several measurements; and (3) using a lattice attack to get from there to the long-term ECDSA private key used for the signatures. Typically an attacker would have sufficient access when attacking an SGX enclave and controlling the untrusted OS.
{ "binaries": [ { "binary_name": "libmbedcrypto7", "binary_version": "2.28.0-1build1" }, { "binary_name": "libmbedtls-dev", "binary_version": "2.28.0-1build1" }, { "binary_name": "libmbedtls14", "binary_version": "2.28.0-1build1" }, { "binary_name": "libmbedx509-1", "binary_version": "2.28.0-1build1" } ] }
{ "binaries": [ { "binary_name": "libmbedcrypto7t64", "binary_version": "2.28.8-1" }, { "binary_name": "libmbedtls-dev", "binary_version": "2.28.8-1" }, { "binary_name": "libmbedtls14t64", "binary_version": "2.28.8-1" }, { "binary_name": "libmbedx509-1t64", "binary_version": "2.28.8-1" } ] }
{ "binaries": [ { "binary_name": "libmbedcrypto16", "binary_version": "3.6.2-3ubuntu1" }, { "binary_name": "libmbedtls-dev", "binary_version": "3.6.2-3ubuntu1" }, { "binary_name": "libmbedtls21", "binary_version": "3.6.2-3ubuntu1" }, { "binary_name": "libmbedx509-7", "binary_version": "3.6.2-3ubuntu1" } ] }
{ "binaries": [ { "binary_name": "libmbedcrypto0", "binary_version": "2.2.1-2ubuntu0.3" }, { "binary_name": "libmbedtls-dev", "binary_version": "2.2.1-2ubuntu0.3" }, { "binary_name": "libmbedtls10", "binary_version": "2.2.1-2ubuntu0.3" }, { "binary_name": "libmbedx509-0", "binary_version": "2.2.1-2ubuntu0.3" } ] }
{ "binaries": [ { "binary_name": "libmbedcrypto3", "binary_version": "2.16.4-1ubuntu2" }, { "binary_name": "libmbedtls-dev", "binary_version": "2.16.4-1ubuntu2" }, { "binary_name": "libmbedtls12", "binary_version": "2.16.4-1ubuntu2" }, { "binary_name": "libmbedx509-0", "binary_version": "2.16.4-1ubuntu2" } ] }