VDB
Sign up
CRITICAL9.1

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

Packagist/mdanter/ecc
Introduced in: 0

No fixed version published yet for mdanter/ecc (composer). Pin to a known-safe version or switch to an alternative.

References