Implementacja ECDSA w pakiecie Elliptic generuje nieprawidłowe podpisy, jeśli wartość tymczasowa 'k' (obliczona zgodnie z krokiem 3.2 RFC 6979) zawiera wiodące zera i jest podatna na kryptoanalizę, co może prowadzić do ujawnienia klucza tajnego. Problem wynika z niepoprawnego obliczenia długości bajtu 'k', co powoduje jego obcięcie podczas obliczeń. Wskutek tego legitymarne transakcje lub komunikacja zostaną przerwane. Ponadto, ze względu na naturę tej wady, atakujący mogą – w pewnych warunkach – wyprowadzić klucz tajny, jeśli uzyskają dostęp zarówno do błędnego podpisu wygenerowanego przez podatną wersję Elliptic, jak i prawidłowego podpisu dla tych samych danych wejściowych. Problem dotyczy wszystkich znanych wersji Elliptic (w momencie pisania wersje 6.6.1 i starsze).
▸ Pokaż oryginał (EN)
The ECDSA implementation of the Elliptic package generates incorrect signatures if an interim value of 'k' (as computed based on step 3.2 of RFC 6979 https://datatracker.ietf.org/doc/html/rfc6979 ) has leading zeros and is susceptible to cryptanalysis, which can lead to secret key exposure. This happens, because the byte-length of 'k' is incorrectly computed, resulting in its getting truncated during the computation. Legitimate transactions or communications will be broken as a result. Furthermore, due to the nature of the fault, attackers could–under certain conditions–derive the secret key, if they could get their hands on both a faulty signature generated by a vulnerable version of Elliptic and a correct signature for the same inputs. This issue affects all known versions of Elliptic (at the time of writing, versions less than or equal to 6.6.1).
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L