Crypto++ 8.3.0 and earlier contains a timing side channel in ECDSA signature generation. This allows a local or remote attacker, able to measure the duration of hundreds to thousands of signing operations, to compute the private key used. The issue occurs because scalar multiplication in ecp.cpp (prime field curves, small leakage) and algebra.cpp (binary field curves, large leakage) is not constant time and leaks the bit length of the scalar among other information.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Crypto++ | Cryptopp | * | 8.3.0 (including) |
Libcrypto++ | Ubuntu | bionic | * |
Libcrypto++ | Ubuntu | disco | * |
Libcrypto++ | Ubuntu | esm-apps/bionic | * |
Libcrypto++ | Ubuntu | esm-apps/xenial | * |
Libcrypto++ | Ubuntu | esm-infra-legacy/trusty | * |
Libcrypto++ | Ubuntu | trusty | * |
Libcrypto++ | Ubuntu | trusty/esm | * |
Libcrypto++ | Ubuntu | upstream | * |
Libcrypto++ | Ubuntu | xenial | * |