CVE-2026-22700
WysokieStreszczenie
W bibliotece RustCrypto: Elliptic Curves w wersjach 0.14.0-pre.0 i 0.14.0-rc.0 występuje podatność na atak typu denial-of-service w implementacji szyfrowania SM2. Funkcja decrypt() wykonuje niekontrolowane operacje slice::split_at na danych pochodzących z niezaufanego ciphertextu, co może prowadzić do paniki (unwinding) i awarii wątku lub procesu.
Ocena ryzyka
Atakujący może wysłać krótki lub specjalnie spreparowany ciphertext, powodując crash aplikacji, co prowadzi do przerwania działania usługi (denial of service). Podatność może być wykorzystana zdalnie, jeśli aplikacja przetwarza niezaufane dane zaszyfrowane.
Rekomendacja
Zaleca się natychmiastową aktualizację biblioteki do wersji zawierającej patch (commit e60e991) lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do funkcji odszyfrowywania i walidować długość oraz strukturę ciphertextu przed przetworzeniem.
Inne podatności w RustCrypto: Elliptic Curves
Oryginalny opis (angielski, źródło NVD)
RustCrypto: Elliptic Curves is general purpose Elliptic Curve Cryptography (ECC) support, including types and traits for representing various elliptic curve forms, scalars, points, and public/secret keys composed thereof. In versions 0.14.0-pre.0 and 0.14.0-rc.0, a denial-of-service vulnerability exists in the SM2 public-key encryption (PKE) implementation: the decrypt() path performs unchecked slice::split_at operations on input buffers derived from untrusted ciphertext. An attacker can submit short/undersized ciphertext or carefully-crafted DER-encoded structures to trigger bounds-check panics (Rust unwinding) which crash the calling thread or process. This issue has been patched via commit e60e991.

