Description
Generating the ECDSA nonce k samples a random number r and then
truncates this randomness with a modular reduction mod n where n is the
order of the elliptic curve. Meaning k = r mod n. The division used
during the reduction estimates a factor q_e by dividing the upper two
digits (a digit having e.g. a size of 8 byte) of r by the upper digit of
n and then decrements q_e in a loop until it has the correct size.
Observing the number of times q_e is decremented through a control-flow
revealing side-channel reveals a bias in the most significant bits of
k. Depending on the curve this is either a negligible bias or a
significant bias large enough to reconstruct k with lattice reduction
methods. For SECP160R1, e.g., we find a bias of 15 bits.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| wolfSSL | wolfSSL | ≤ 5.6.4 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 13 | wolfssl | 5.7.2-0.1 | — |
| Debian 12 | wolfssl | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | wolfssl | No fix yet | — |
| Ubuntu 26.04 LTS | wolfssl | No fix yet | — |
| Ubuntu 25.10 | wolfssl | No fix yet | — |
| Ubuntu 24.04 LTS | wolfssl | No fix yet | — |
| Ubuntu 22.04 LTS | wolfssl | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | wolfssl | No fix yet | — |
| Ubuntu 18.04 LTS | wolfssl | No fix yet | — |
| Ubuntu 16.04 LTS | wolfssl | No fix yet | — |