Biblioteka ecdsautils nieprawidłowo weryfikuje podpisy ECDSA, akceptując podpis złożony wyłącznie z wartości zerowych jako prawidłowy. Luka umożliwia trywialne fałszowanie podpisów cyfrowych, co podważa integralność każdego mechanizmu opartego na tej bibliotece.
▸ Pokaż oryginał (EN)
ecdsautils is a tiny collection of programs used for ECDSA (keygen, sign, verify). `ecdsa_verify_[prepare_]legacy()` does not check whether the signature values `r` and `s` are non-zero. A signature consisting only of zeroes is always considered valid, making it trivial to forge signatures. Requiring multiple signatures from different public keys does not mitigate the issue: `ecdsa_verify_list_legacy()` will accept an arbitrary number of such forged signatures. Both the `ecdsautil verify` CLI command and the libecdsautil library are affected. The issue has been fixed in ecdsautils 0.4.1. All older versions of ecdsautils (including versions before the split into a library and a CLI utility) are vulnerable.
Funkcje `ecdsa_verify_[prepare_]legacy()` w ecdsautils nie sprawdzają, czy wartości `r` i `s` wchodzące w skład podpisu ECDSA są różne od zera. Atakujący może przesłać podpis zawierający same zera, który zostanie bezwarunkowo zaakceptowany jako poprawny. Co więcej, funkcja `ecdsa_verify_list_legacy()` odpowiedzialna za weryfikację wielu podpisów od różnych kluczy publicznych również nie blokuje takiego ataku — akceptuje dowolną liczbę tak sfałszowanych podpisów. Problem dotyczy zarówno narzędzia linii poleceń `ecdsautil verify`, jak i biblioteki libecdsautil.
Atakujący może bez znajomości klucza prywatnego sfałszować dowolny podpis ECDSA i przedstawić go jako prawidłowy, całkowicie omijając mechanizmy weryfikacji integralności i autentyczności danych.
Należy zaktualizować ecdsautils do wersji 0.4.1 lub nowszej, w której problem został naprawiony. Użytkownicy dystrybucji Debian i Fedora powinni zastosować patche dostępne w oficjalnych repozytoriach zgodnie z referencjami producenta.
Wszystkie wersje ecdsautils starsze niż 0.4.1 (w tym wersje sprzed podziału na bibliotekę i narzędzie CLI); pakiety ecdsautils w Debian Linux oraz Fedora Linux.
Podatność dotyczy projektu freifunk-gluon/ecdsautils. Poprawka została wprowadzona w commitach 1d4b091 oraz 39b6d0a w repozytorium GitHub projektu. Wersja naprawiona to 0.4.1.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NDebian
OSDebian10.011.09.0Ecdsautils Project Ecdsautils
APPEcdsautils Project< 0.4.1Fedora Project Fedora
OSFedoraproject343536
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki