CRITICAL🇬🇧 English

CVE-2022-24884

Fałszowanie podpisów ECDSA przez pominięcie weryfikacji wartości r i s

CVSS 10.0v3.1pub. 2022-05-06upd. 2024-11-21

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.

🤖 Analiza AI
Jak działa

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.

Skutki

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.

Mitygacja

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.

Kogo dotyczy

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.

Uwagi

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 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
  • Debian

    OS
    Debian
    10.011.09.0
  • Ecdsautils Project Ecdsautils

    APP
    Ecdsautils Project
    < 0.4.1
  • Fedora Project Fedora

    OS
    Fedoraproject
    343536
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-24061CRITICAL9.8⚠ KEVPL ✓ten sam produkt

GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER

CVE-2025-32463CRITICAL9.3⚠ KEVPL ✓ten sam produkt

Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)

CVE-2025-49113CRITICAL9.9⚠ KEVPL ✓ten sam produkt

RCE przez deserializację PHP w Roundcube Webmail (parametr _from)

CVE-2025-32433CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)

CVE-2025-24201CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki