Moduł Plack::Middleware::Session::Simple w wersjach przed 0.05 dla Perl generuje identyfikatory sesji w sposób kryptograficznie niepewny, co umożliwia ich przewidzenie przez atakującego. Luka ma ocenę CVSS 9.8 (CRITICAL) i może prowadzić do nieautoryzowanego przejęcia sesji użytkowników.
▸ Pokaż oryginał (EN)
Plack::Middleware::Session::Simple versions before 0.05 for Perl generates session ids insecurely. The default session id generator returns a SHA-1 hash seeded with the built-in rand function, the 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. Predictable session ids could allow an attacker to gain access to systems. Plack::Middleware::Session::Simple is intended to be compatible with Plack::Middleware::Session, which had a similar security issue CVE-2025-40923.
Domyślny generator identyfikatorów sesji tworzy hash SHA-1 zasiewany funkcją rand wbudowaną w Perl, czasem epoch oraz numerem procesu (PID). PID pochodzi z ograniczonego zbioru wartości, czas epoch może być odgadnięty lub wyciekać przez nagłówek HTTP Date, a wbudowana funkcja rand nie nadaje się do zastosowań kryptograficznych. Połączenie tych czynników sprawia, że wygenerowane identyfikatory sesji są przewidywalne i mogą zostać odtworzone przez atakującego bez znajomości tajnych danych.
Atakujący może przewidzieć lub odgadnąć poprawny identyfikator sesji, a następnie uzyskać nieautoryzowany dostęp do kont i zasobów chronionych przez sesję — bez konieczności znajomości hasła użytkownika.
Należy zaktualizować Plack::Middleware::Session::Simple do wersji 0.05 lub nowszej, która wprowadza bezpieczny kryptograficznie generator identyfikatorów sesji. Patch dostępny jest w repozytorium projektu na GitHub.
Plack::Middleware::Session::Simple w wersjach przed 0.05 dla Perl
Podatność jest powiązana z CVE-2025-40923 dotyczącym modułu Plack::Middleware::Session, który miał analogiczny problem z generowaniem identyfikatorów sesji. Moduł Plack::Middleware::Session::Simple jest zaprojektowany jako kompatybilny z Plack::Middleware::Session.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HKazeburo Plack\
APPKazeburo\