Biblioteka Data::Entropy w wersjach przed 0.010 dla Perl pobiera dane losowe ze zdalnych źródeł przez niezaszyfrowane połączenie HTTP. Atakujący obecny na ścieżce sieciowej może podmienić zwracane dane, przejmując kontrolę nad wartościami losowymi używanymi przez aplikację.
▸ Pokaż oryginał (EN)
Data::Entropy versions before 0.010 for Perl read remote entropy sources over plain HTTP. The Data::Entropy::RawSource::RandomOrg and Data::Entropy::RawSource::RandomnumbersInfo remote sources are accessed over plain HTTP. The Data::Entropy::RawSource::RandomOrg integrity check trivially matches any non-empty byte string. Any on-path attacker, such as open WiFi, a compromised ISP, captive portal, or a hostile egress proxy substitutes the response and thereby chooses the bytes returned by rand_bits and rand_int for every application that selected one of these sources via with_entropy_source. The _checkbuf method response is equally attacker-controlled, so the retry/sleep behaviour is steerable too.
Moduły Data::Entropy::RawSource::RandomOrg oraz Data::Entropy::RawSource::RandomnumbersInfo komunikują się ze zdalnymi serwisami entropii wyłącznie przez plain HTTP. Mechanizm weryfikacji integralności w RandomOrg (_checkbuf) akceptuje dowolny niepusty ciąg bajtów, co oznacza brak skutecznej ochrony przed podstawieniem danych. Atakujący na ścieżce sieciowej — np. operator otwartej sieci WiFi, skompromitowany ISP, captive portal lub wróg proxy wyjściowego — może podmienić odpowiedź serwera i tym samym całkowicie kontrolować wartości zwracane przez funkcje rand_bits oraz rand_int. Ponadto atakujący może sterować zachowaniem mechanizmu ponawiania prób i opóźnień (retry/sleep) poprzez manipulację odpowiedzią metody _checkbuf.
Atakujący może wybrać dowolne wartości losowe zwracane aplikacji, co w praktyce eliminuje kryptograficzną nieprzewidywalność generowanych danych (np. kluczy, tokenów, nonce'ów). Prowadzi to do poważnego naruszenia poufności — ujawnienia lub przewidywalności wszelkich sekretów generowanych z użyciem tych źródeł entropii.
Należy zaktualizować bibliotekę Data::Entropy do wersji 0.010 lub nowszej, która eliminuje komunikację przez plain HTTP. Szczegóły dostępne w referencjach producenta (CPAN/metacpan changelog oraz security advisory GHSA-845w-rcqw-jwvv).
Data::Entropy dla Perl w wersjach przed 0.010, korzystające ze zdalnych źródeł entropii Data::Entropy::RawSource::RandomOrg lub Data::Entropy::RawSource::RandomnumbersInfo
Podatność zgłoszona i opublikowana 2026-08-01. Biblioteka oznaczona jako deprecated na CPAN (metacpan.org). Dodatkowe informacje w poradniku społeczności Perl Security dotyczącym bezpiecznego generowania danych losowych.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NRrwo Data\
APPRrwo\
Powiązane podatności
Net::CIDR::Set versions through 0.20 for Perl did not validate IP addresses. The add method called the _encod...
Net::CIDR::Set versions through 0.20 for Perl did not validate network masks. The mask portion of a network m...
Text::Minify::XS versions from 0.3.0 before 0.7.8 for Perl have a heap overflow when processing some malformed...
Wersje Net::CIDR::Set do 0.20 dla Perl'a akceptują adresy IP i maski sieciowe zawierające znaki spoza zakresu ...