CRITICAL🇬🇧 English

CVE-2026-2439

Przewidywalne identyfikatory sesji w Concierge::Sessions dla Perl

CVSS 9.8v3.1pub. 2026-02-16upd. 2026-03-10

Biblioteka Concierge::Sessions w wersjach od 0.8.1 do 0.8.4 dla języka Perl generuje identyfikatory sesji przy użyciu kryptograficznie niezabezpieczonych metod. Atakujący jest w stanie przewidzieć lub odgadnąć wartości session_id, co pozwala mu na przejęcie sesji innych użytkowników i nieautoryzowany dostęp do chronionych zasobów.

Pokaż oryginał (EN)

Concierge::Sessions versions from 0.8.1 before 0.8.5 for Perl generate insecure session ids. The generate_session_id function in Concierge::Sessions::Base defaults to using the uuidgen command to generate a UUID, with a fallback to using Perl's built-in rand function. Neither of these methods are secure, and attackers are able to guess session_ids that can grant them access to systems. Specifically, * There is no warning when uuidgen fails. The software can be quietly using the fallback rand() function with no warnings if the command fails for any reason. * The uuidgen command will generate a time-based UUID if the system does not have a high-quality random number source, because the call does not explicitly specify the --random option. Note that the system time is shared in HTTP responses. * UUIDs are identifiers whose mere possession grants access, as per RFC 9562. * The output of the built-in rand() function is predictable and unsuitable for security applications.

🤖 Analiza AI
Jak działa

Funkcja generate_session_id w module Concierge::Sessions::Base domyślnie wywołuje polecenie systemowe uuidgen w celu wygenerowania UUID, a w przypadku jego niedostępności cicho przełącza się na wbudowaną funkcję rand() języka Perl — bez żadnego ostrzeżenia. Polecenie uuidgen, jeśli system nie dysponuje wysokiej jakości źródłem losowości, może generować UUID oparte na czasie systemowym, który jest dodatkowo ujawniany w odpowiedziach HTTP, co ułatwia atakującemu przewidzenie wartości identyfikatora. Funkcja rand() jest w pełni deterministyczna i nieprzydatna w zastosowaniach związanych z bezpieczeństwem, zatem oparcie na niej generowania identyfikatorów sesji czyni je podatnymi na odgadnięcie.

Skutki

Atakujący może odgadnąć lub przewidzieć aktywny identyfikator sesji innego użytkownika i przejąć jego sesję, uzyskując pełny nieautoryzowany dostęp do systemu z uprawnieniami ofiary (naruszenie poufności, integralności i dostępności).

Mitygacja

Należy zaktualizować bibliotekę Concierge::Sessions do wersji 0.8.5 lub nowszej, w której poprawiono mechanizm generowania identyfikatorów sesji. Szczegóły zmian dostępne są w referencjach producenta na MetaCPAN oraz w repozytorium GitHub projektu.

Kogo dotyczy

Concierge::Sessions (moduł Perl, producent BVA) w wersjach od 0.8.1 do 0.8.4 włącznie.

Uwagi

Podatność obejmuje dwa powiązane problemy (CWE-338: użycie kryptograficznie słabego generatora liczb losowych oraz CWE-340: generowanie przewidywalnych identyfikatorów). Dodatkowym czynnikiem ryzyka jest fakt, że czas systemowy — będący podstawą UUID time-based — jest ujawniany w odpowiedziach HTTP, co znacząco ułatwia atakującemu zawężenie przestrzeni poszukiwań.

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

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