Biblioteka jsrsasign przed wersją 8.0.18 dla Node.js nie wykrywa modyfikacji szyfrogramu RSA PKCS1 v1.5 polegającej na poprzedzeniu go bajtami '\0'. Podatność może prowadzić do uszkodzenia pamięci i przejęcia kontroli nad procesem bez jakiegokolwiek uwierzytelnienia.
▸ Pokaż oryginał (EN)
An issue was discovered in the jsrsasign package before 8.0.18 for Node.js. Its RSA PKCS1 v1.5 decryption implementation does not detect ciphertext modification by prepending '\0' bytes to ciphertexts (it decrypts modified ciphertexts without error). An attacker might prepend these bytes with the goal of triggering memory corruption issues.
Implementacja deszyfrowania RSA PKCS1 v1.5 w jsrsasign nie sprawdza poprawności struktury szyfrogramu w przypadku, gdy przed właściwymi danymi zostaną doklejone bajty o wartości zero ('\0'). Biblioteka przetwarza tak zmodyfikowany szyfrogram bez zgłaszania błędu, co oznacza, że atakujący może przesłać spreparowany szyfrogram i skłonić podatną aplikację do przetworzenia nieprawidłowych danych. Zgodnie z klasyfikacją CWE-119 może to skutkować przepełnieniem lub innym nieprawidłowym dostępem do obszarów pamięci (buffer overflow / memory corruption).
Atakujący może wywołać uszkodzenie pamięci procesu aplikacji korzystającej z jsrsasign, co w konsekwencji może umożliwić wykonanie dowolnego kodu (RCE), ujawnienie poufnych danych lub spowodowanie awarii usługi.
Należy zaktualizować jsrsasign do wersji 8.0.18 lub nowszej. Użytkownicy produktów NetApp Max Data powinni zastosować patche dostępne u producenta zgodnie z zaleceniem opublikowanym pod adresem https://security.netapp.com/advisory/ntap-20200724-0001/.
Pakiet jsrsasign w wersjach przed 8.0.18 dla Node.js (Kjur Jsrsasign); oprogramowanie NetApp Max Data korzystające z tej biblioteki (szczegółowe wersje wskazane w referencjach producenta NetApp).
Problem zgłoszony w publicznym issue trackerze projektu jsrsasign: https://github.com/kjur/jsrsasign/issues/439. Poprawka wprowadzona w wersji 8.0.18 (tag wydania z repozytorium GitHub).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HKjur Jsrsasign
APPKjur< 8.0.18Netapp Max Data
APPNetappwszystkie wersje
Powiązane podatności
Odtworzenie klucza prywatnego DSA przez błąd porównań w jsrsasign
Błędna weryfikacja podpisów RSA PKCS#1 v1.5 w jsrsasign
Python 3.8.4 – ignorowanie ograniczeń sys.path z pliku python38._pth
Błąd weryfikacji podpisu RSA-PSS w bibliotece jsrsasign (Node.js)
Versions of the package jsrsasign before 11.1.1 are vulnerable to Infinite loop via the bnModInverse function ...