CRITICAL🇬🇧 English

CVE-2026-5085

Przewidywalne identyfikatory sesji w Solstice::Session (Perl)

CVSS 9.1v3.1pub. 2026-04-13upd. 2026-04-23

Biblioteka Solstice::Session dla języka Perl generuje identyfikatory sesji w sposób kryptograficznie niebezpieczny, oparty na przewidywalnych wartościach. Atakujący może odgadnąć aktywne identyfikatory sesji i uzyskać nieautoryzowany dostęp do systemu.

Pokaż oryginał (EN)

Solstice::Session versions through 1440 for Perl generates session ids insecurely. The _generateSessionID method returns an MD5 digest seeded by the epoch time, a random hash reference, a call to the built-in rand() function and the process id. The same method is used in the _generateID method in Solstice::Subsession, which is part of the same distribution. The epoch time may be guessed, if it is not leaked in the HTTP Date header. Stringified hash refences will contain predictable content. The built-in rand() function is seeded by 16-bits and is unsuitable for security purposes. The process id comes from a small set of numbers. Predictable session ids could allow an attacker to gain access to systems.

🤖 Analiza AI
Jak działa

Metoda _generateSessionID tworzy identyfikator sesji jako skrót MD5 zbudowany z czterech przewidywalnych składników: czasu epoki (który może zostać odczytany z nagłówka HTTP Date lub zgadnięty), adresu referencji hash zrzutowanej do stringa (zawierającej przewidywalną treść), wyniku wbudowanej funkcji rand() zainicjowanej jedynie 16-bitowym ziarnem (nieodpowiedniej do celów bezpieczeństwa) oraz identyfikatora procesu (PID) pochodzącego z ograniczonego zakresu liczb. Ta sama metoda generowania jest stosowana w klasie Solstice::Subsession w metodzie _generateID. Połączenie tych słabych elementów losowości sprawia, że przestrzeń możliwych identyfikatorów sesji jest na tyle mała, że może być skutecznie przeszukana przez atakującego.

Skutki

Atakujący może przewidzieć lub odgadnąć aktywne identyfikatory sesji innych użytkowników, co umożliwia przejęcie ich sesji i uzyskanie nieautoryzowanego dostępu do chronionych zasobów systemu (session hijacking).

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako środek uzupełniający zaleca się zastąpienie wbudowanej funkcji rand() kryptograficznie bezpiecznym generatorem liczb losowych (CSPRNG) zgodnie z wytycznymi dostępnymi pod adresem https://security.metacpan.org/docs/guides/random-data-for-security.html.

Kogo dotyczy

Solstice::Session (biblioteka Perl, dystrybucja Mcrawfor Solstice) we wszystkich wersjach do 1440 włącznie; podatność dotyczy również klasy Solstice::Subsession wchodzącej w skład tej samej dystrybucji.

Uwagi

Podatność została ujawniona publicznie 13 kwietnia 2026 roku na liście oss-security (openwall.com). CWE-338 (użycie kryptograficznie słabego generatora liczb pseudolosowych) oraz CWE-340 (przewidywalność generowania identyfikatorów) potwierdzają charakter błędu.

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

    APP
    Mcrawfor
    \
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje