Biblioteka HTTP::Session w wersjach przed 0.54 dla języka Perl domyślnie generuje identyfikatory sesji z użyciem kryptograficznie niepewnego generatora liczb losowych. Podatność umożliwia przewidzenie lub odgadnięcie prawidłowego identyfikatora sesji przez atakującego, co może prowadzić do przejęcia sesji użytkownika.
▸ Pokaż oryginał (EN)
HTTP::Session versions before 0.54 for Perl defaults to using insecurely generated session ids. HTTP::Session defaults to using HTTP::Session::ID::SHA1 to generate session ids using a SHA-1 hash seeded with the built-in rand function, the high resolution epoch time, and the PID. The PID will come from a small set of numbers, and the epoch time may be guessed, if it is not leaked from the HTTP Date header. The built-in rand function is unsuitable for cryptographic usage. The distribution includes HTTP::session::ID::MD5 which contains a similar flaw, but uses the MD5 hash instead.
HTTP::Session domyślnie korzysta z modułu HTTP::Session::ID::SHA1, który tworzy identyfikatory sesji jako skrót SHA-1 bazujący na trzech przewidywalnych wartościach: wbudowanej funkcji rand() (nieodpowiedniej do celów kryptograficznych), czasie epoch z wysoką rozdzielczością oraz numerze procesu (PID). PID pochodzi z ograniczonego zakresu wartości, czas epoch może zostać odgadnięty lub odczytany z nagłówka HTTP Date, a funkcja rand() nie zapewnia wystarczającej entropii kryptograficznej. Dystrybucja zawiera również moduł HTTP::Session::ID::MD5, który dotknięty jest analogiczną wadą — różni się jedynie użyciem funkcji skrótu MD5 zamiast SHA-1.
Atakujący może przewidzieć lub przeprowadzić atak brute-force na identyfikatory sesji, co umożliwia przejęcie sesji uwierzytelnionych użytkowników, a w konsekwencji nieuprawniony dostęp do ich kont i danych (naruszenie poufności, integralności i dostępności).
Należy zaktualizować bibliotekę HTTP::Session do wersji 0.54 lub nowszej, w której poprawiono mechanizm generowania identyfikatorów sesji. Szczegóły zmiany dostępne są w pliku CHANGES dystrybucji TOKUHIROM/http-session-0.54 na MetaCPAN.
HTTP::Session (dystrybucja CPAN autorstwa KTAT) w wersjach przed 0.54 dla języka Perl — dotyczy modułów HTTP::Session::ID::SHA1 oraz HTTP::Session::ID::MD5.
Podatność opublikowana 28 marca 2026 r. na liście oss-security (openwall.com). Obie implementacje generatorów ID sesji (SHA1 i MD5) zawierają tę samą klasę błędu — użycie kryptograficznie słabego PRNG (CWE-338) oraz przewidywalnych danych wejściowych (CWE-340).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HKtat Http\
APPKtat\