CRITICAL🇬🇧 English

CVE-2019-16303

JHipster: słabe źródło losowości umożliwia przejęcie konta

CVSS 9.8v3.1pub. 2019-09-14upd. 2024-11-21

JHipster oraz JHipster Kotlin generują kod aplikacji korzystający z kryptograficznie słabego źródła losowości (apache.commons.lang3 RandomStringUtils) przy tworzeniu tokenów resetowania hasła. Atakujący, który pozyska własny link do resetowania hasła, może przewidzieć tokeny innych użytkowników i przejąć ich konta.

Pokaż oryginał (EN)

A class generated by the Generator in JHipster before 6.3.0 and JHipster Kotlin through 1.1.0 produces code that uses an insecure source of randomness (apache.commons.lang3 RandomStringUtils). This allows an attacker (if able to obtain their own password reset URL) to compute the value for all other password resets for other accounts, thus allowing privilege escalation or account takeover.

🤖 Analiza AI
Jak działa

Generator JHipster produkuje klasy aplikacji, w których tokeny resetowania hasła są tworzone przy użyciu biblioteki apache.commons.lang3 RandomStringUtils — implementacji niezapewniającej kryptograficznej nieprzewidywalności (CWE-338). Ponieważ źródło entropii jest niewystarczające, atakujący posiadający własny token resetowania hasła może odtworzyć stan generatora i obliczyć wartości tokenów wygenerowanych dla innych kont. W efekcie możliwe jest inicjowanie procedury resetowania hasła dla dowolnego użytkownika i samodzielne obliczenie wartości jego tokenu bez fizycznego dostępu do jego skrzynki e-mail.

Skutki

Atakujący może przejąć dowolne konto w aplikacji (account takeover) lub uzyskać nieautoryzowany dostęp do kont o wyższych uprawnieniach (privilege escalation), bez znajomości hasła ofiary ani dostępu do jej poczty.

Mitygacja

Należy zaktualizować JHipster do wersji 6.3.0 lub nowszej, a JHipster Kotlin do wersji wyższej niż 1.1.0. Aplikacje już wygenerowane przez podatne wersje generatora wymagają regeneracji lub ręcznej aktualizacji kodu odpowiedzialnego za generowanie tokenów resetowania hasła, tak aby korzystał z kryptograficznie bezpiecznego źródła losowości. Szczegóły poprawki dostępne są w repozytorium producenta (commit 88448b85).

Kogo dotyczy

JHipster (generator-jhipster) w wersjach przed 6.3.0 oraz JHipster Kotlin w wersjach do 1.1.0 włącznie — dotyczy aplikacji wygenerowanych przez te narzędzia, które korzystają z wbudowanego mechanizmu resetowania hasła.

Uwagi

Podatność dotyczy nie samego frameworka JHipster, lecz kodu generowanego przez generator — aplikacje już wdrożone na produkcji i zbudowane przy użyciu podatnych wersji generatora wymagają osobnej interwencji niezależnie od aktualizacji narzędzia.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Jhipster

    APP
    Jhipster
    < 6.3.0
  • Jhipster Kotlin

    APP
    Jhipster
    ≤ 1.1.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
LPE
CWE
Referencje

Powiązane podatności

CVE-2015-20110HIGH7.5ten sam produkt

JHipster generator-jhipster before 2.23.0 allows a timing attack against validateToken due to a string compari...

CVE-2022-24815HIGH8.1ten sam vendor

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservi...

CVE-2020-4072MEDIUM5.3ten sam vendor

In generator-jhipster-kotlin version 1.6.0 log entries are created for invalid password reset attempts. As the...