Biblioteka jsrsasign dla Node.js nieprawidłowo weryfikuje podpisy cyfrowe RSA PKCS#1 v1.5, akceptując niektóre nieprawidłowe podpisy jako poprawne. Podatność może prowadzić do obejścia mechanizmów uwierzytelniania i weryfikacji integralności danych.
▸ Pokaż oryginał (EN)
In the jsrsasign package through 10.1.13 for Node.js, some invalid RSA PKCS#1 v1.5 signatures are mistakenly recognized to be valid. NOTE: there is no known practical attack.
Błąd dotyczy implementacji weryfikacji podpisów RSA PKCS#1 v1.5 w bibliotece jsrsasign — klasa odpowiedzialna za walidację podpisów (CWE-347: Improper Verification of Cryptographic Signature) niepoprawnie ocenia pewne nieprawidłowe podpisy jako ważne. Oznacza to, że atakujący mógłby potencjalnie skonstruować spreparowany podpis RSA, który zostanie zaakceptowany przez bibliotekę, mimo że nie został wytworzony przy użyciu prawidłowego klucza prywatnego. Producent odnotował jednak, że nie jest znany żaden praktyczny atak wykorzystujący tę podatność.
Atakujący może doprowadzić do sytuacji, w której sfałszowany podpis cyfrowy zostanie zaakceptowany jako prawidłowy, co może skutkować naruszeniem poufności i integralności danych chronionych mechanizmami podpisu RSA.
Należy zaktualizować pakiet jsrsasign do wersji wyższej niż 10.1.13. Patch został opublikowany przez producenta w wersji 10.1.13 (tag wydania dostępny w referencjach). Zaleca się weryfikację wersji pakietu we wszystkich projektach Node.js korzystających z jsrsasign i aktualizację zgodnie z referencjami producenta.
Pakiet jsrsasign w wersjach do 10.1.13 włącznie dla środowiska Node.js (producent Kjur).
Producent zaznaczył w opisie podatności, że nie jest znany żaden praktyczny atak wykorzystujący tę lukę ('NOTE: there is no known practical attack'). Mimo wysokiego wyniku CVSS 9.1, realne ryzyko eksploitacji może być ograniczone.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NKjur Jsrsasign
APPKjur≤ 10.1.13
Powiązane podatności
Odtworzenie klucza prywatnego DSA przez błąd porównań w jsrsasign
Błąd weryfikacji podpisu RSA-PSS w bibliotece jsrsasign (Node.js)
Błąd weryfikacji szyfrogramu RSA PKCS1 v1.5 w bibliotece jsrsasign
Versions of the package jsrsasign before 11.1.1 are vulnerable to Infinite loop via the bnModInverse function ...
Versions of the package jsrsasign before 11.1.1 are vulnerable to Improper Verification of Cryptographic Signa...