Описание
IO FinNet tss-lib vulnerable to timing attack from non-constant time scalar multiplication
io.finnet tss-lib before 2.0.0 can leak a secret key via a timing side-channel attack because it relies on the scalar-multiplication implementation in Go crypto/elliptic, which is not constant time (there is an if statement in a loop). One leak is in ecdsa/keygen/round_2.go. (bnb-chain/tss-lib and thorchain/tss are also affected.)
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2023-26556
- https://github.com/bnb-chain/tss-lib/issues/44
- https://github.com/IoFinnet/tss-lib/releases/tag/v2.0.0
- https://github.com/bnb-chain/tss-lib/releases/tag/v2.0.0
- https://github.com/bnb-chain/tss-lib/tree/v1.3.5
- https://gitlab.com/thorchain/tss/tss-lib/-/tags/v0.1.3
- https://medium.com/@iofinnet/security-disclosure-for-ecdsa-and-eddsa-threshold-signature-schemes-4e969af7155b
- https://pkg.go.dev/vuln/GO-2023-1732
Пакеты
github.com/bnb-chain/tss-lib
< 2.0.0
2.0.0
github.com/binance-chain/tss-lib
< 2.0.0
2.0.0
Связанные уязвимости
io.finnet tss-lib before 2.0.0 can leak a secret key via a timing side-channel attack because it relies on the scalar-multiplication implementation in Go crypto/elliptic, which is not constant time (there is an if statement in a loop). One leak is in ecdsa/keygen/round_2.go. (bnb-chain/tss-lib and thorchain/tss are also affected.)