GHSA-346h-749j-r28w
PHPECC vulnerable to multiple cryptographic side-channel attacks
Details
### ECDSA Canonicalization
PHPECC is vulnerable to malleable ECDSA signature attacks.
### Constant-Time Signer
When generating a new ECDSA signature, the GMPMath adapter was used. This class wraps the GNU Multiple Precision arithmetic library (GMP), which does not aim to provide constant-time implementations of algorithms.
An attacker capable of triggering many signatures and studying the time it takes to perform each operation would be able to leak the secret number, `k`, and thereby learn the private key.
### EcDH Timing Leaks
When calculating a shared secret using the `EcDH` class, the scalar-point multiplication is based on the arithmetic defined by the `Point` class.
Even though the library implements a Montgomery ladder, the `add()`, `mul()`, and `getDouble()` methods on the `Point` class are not constant-time. This means that your ECDH private keys are leaking information about each bit of your private key through a timing side-channel.
Are you affected?
Enter the version of the package you're using.
Affected packages
0No fixed version published yet for mdanter/ecc (composer). Pin to a known-safe version or switch to an alternative.