CVE-2026-13577
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 47 - wyżej niż 47% wszystkich znanych CVE
Streszczenie
Wersje Dancer2 dla Perla przed 2.2.0 generują niezabezpieczone identyfikatory sesji, gdy wymagane moduły CSPRNG są niedostępne. W takim przypadku następuje cichy powrót do identyfikatora sesji opartego na wbudowanej funkcji rand, która ma niską entropię i jest łatwa do odgadnięcia. Przewidywalne identyfikatory sesji mogą umożliwić atakującemu uzyskanie dostępu do systemu.
Ocena ryzyka
Atakujący może przewidzieć identyfikatory sesji i przejąć sesje użytkowników, co prowadzi do nieautoryzowanego dostępu do chronionych zasobów aplikacji.
Rekomendacja
Zaktualizuj Dancer2 do wersji 2.2.0 lub nowszej oraz upewnij się, że moduły Math::Random::ISAAC::XS i Crypt::URandom są zainstalowane i dostępne.
Inne podatności w Dancer2
Zobacz wszystkie- CVE-2026-93712Wysokie
Dancer2 w wersjach od 2.1.0 do przed 2.2.0 dla Perla serwuje pliki spoza public_dir przez względne segmenty ścieżki w handlerze trasy File. Handler łączy ścieżkę żądania z public_dir bez usuwania segmentów względnych, co pozwala na dostęp do plików poza katalogiem publicznym. Handler jest domyślnie wyłączony, ale aplikacja jest zagrożona, gdy włączy File w route_handlers i ustawi static_handler na 0.
- CVE-2026-93711Średnie
Dancer2 w wersjach przed 2.2.0 dla Perla nie usuwa znaków CR i LF z nazw nagłówków odpowiedzi w funkcji headers_to_array. Rutynowo usuwa CR i LF z wartości nagłówka, ale nie z nazwy, co pozwala na wstrzyknięcie dodatkowych nagłówków i podział odpowiedzi. Aplikacja musi wyprowadzać nazwę nagłówka z danych żądania.
- CVE-2026-93710Wysokie
Dancer2 w wersjach od 2.0.0 do przed 2.2.0 dla Perla wykonuje trasę, którą umierający hook odrzucił, gdy handler wyjątku zatrzymuje odpowiedź w compile_hooks. Handler, który zatrzymuje odpowiedź, nie zatrzymuje procesu czyszczenia, co prowadzi do wykonania odrzuconej trasy. Obejście to może pozwolić na ominięcie kontroli w hooku before.
- CVE-2026-93709Średnie
Dancer2 w wersjach przed 2.2.0 dla Perla serwuje layout jako stronę, gdy równoważna pisownia jego ścieżki omija zabezpieczenie w handlerze AutoPage. Handler porównuje ścieżkę żądania z nazwą katalogu layoutu jako tekst, podczas gdy późniejsze wyszukiwanie kanonizuje ścieżkę. Podwójny slash, segment kropki, zakodowany procentowo slash lub inna wielkość liter na systemie plików bez rozróżniania wielkości liter omija zabezpieczenie.
Oryginalny opis (angielski, źródło NVD)
Dancer2 versions before 2.2.0 for Perl generate insecure session ids when required CSPRNG modules are unavailable. Dancer2::Core::Role::SessionFactory::generate_id silently falls back to a built-in rand-derived session id unless both Math::Random::ISAAC::XS and Crypt::URandom are available. The fallback session id is generated from a SHA-1 hash of a call to the built-in rand function, the absolute path of the Dancer2::Core::Role::SessionFactory module, an internal counter, the process id, the module instance memory address, and a shuffled string of characters (using the List::Util::shuffle function, which also uses the built-in rand function). These are all low-entropy and easily guessed sources. The built-in rand() function is seeded with 32-bits and considered unsuitable for security applications. Predictable session ids could allow an attacker to gain access to systems.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

