Biblioteka io.finnet tss-lib przed wersją 2.0.0 jest podatna na atak timing side-channel, który może prowadzić do ujawnienia tajnego klucza kryptograficznego. Podatność ma krytyczny charakter, ponieważ umożliwia zdalnemu atakującemu odtworzenie klucza prywatnego bez jakiejkolwiek autoryzacji.
▸ Pokaż oryginał (EN)
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.)
Biblioteka opiera się na implementacji mnożenia skalara z pakietu Go crypto/elliptic, która nie jest wykonywana w stałym czasie (constant time). W pętli obecna jest instrukcja warunkowa if, której czas wykonania zależy od przetwarzanych danych. Atakujący może mierzyć różnice w czasach odpowiedzi operacji kryptograficznych i na tej podstawie statystycznie odtwarzać bity tajnego klucza. Konkretny punkt wycieku zidentyfikowano w pliku ecdsa/keygen/round_2.go.
Atakujący może odtworzyć tajny klucz prywatny używany w schematach progowego podpisu cyfrowego (Threshold Signature Scheme), co prowadzi do pełnego naruszenia poufności i integralności chronionych tym kluczem zasobów kryptograficznych.
Należy zaktualizować io.finnet tss-lib do wersji 2.0.0 lub nowszej. Użytkownicy forka bnb-chain/tss-lib powinni przejść na wersję v1.3.5, a użytkownicy thorchain/tss-lib na wersję v0.1.3. Patche dostępne są w repozytoriach producentów wskazanych w referencjach.
io.finnet tss-lib przed wersją 2.0.0, a także forki: bnb-chain/tss-lib (do wersji v1.3.5) oraz thorchain/tss-lib (do wersji v0.1.3)
Podatność dotyczy implementacji schematów ECDSA i EdDSA w środowiskach Threshold Signature Scheme (TSS), stosowanych m.in. w infrastrukturze blockchain. Producent opublikował dedykowane ujawnienie bezpieczeństwa opisujące szczegóły podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NIofinnet Tss Lib
APPIofinnet< 2.0.0
Powiązane podatności
Kolizja wartości skrótu w IO FinNet tss-lib przed wersją 2.0.0
io.finnet tss-lib before 2.0.0 can leak the lambda value of a private key via a timing side-channel attack bec...
An issue was discovered in IO FinNet tss-lib before 2.0.0. The parameter ssid for defining a session id is not...