CVE-2026-56104
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
Chainlit przed wersją 2.10.1 zawiera podatność na przejęcie sesji, która pozwala nieuwierzytelnionym atakującym na przywrócenie i przejęcie uwierzytelnionych sesji użytkownika poprzez podanie prawidłowego identyfikatora sesji podczas przywracania sesji WebSocket bez weryfikacji własności. Atakujący mogą wykorzystać ścieżkę restore_existing_session, aby przejąć uprawnienia i role ofiary, umożliwiając nieautoryzowane wywoływanie narzędzi i dostęp do danych zastrzeżonych dla uwierzytelnionej ofiary.
Ocena ryzyka
Ryzyko dla organizacji obejmuje nieautoryzowany dostęp do wrażliwych danych i funkcji systemu, co może prowadzić do naruszenia poufności, integralności oraz dostępności informacji, a także do eskalacji uprawnień w aplikacji.
Rekomendacja
Należy niezwłocznie zaktualizować Chainlit do wersji 2.10.1 lub nowszej, która usuwa tę podatność. Dodatkowo warto wdrożyć mechanizmy weryfikacji własności sesji oraz monitorować nietypowe próby przywracania sesji.
Inne podatności w Chainlit
Zobacz wszystkie- CVE-2026-45018Krytyczne
Chainlit w wersjach od 2.4.0rc0 do 2.12.0, gdy funkcja features.mcp.enabled jest ustawiona na true, udostępnia endpoint POST /mcp bez wymaganego uwierzytelnienia. Dla transportu stdio endpoint akceptuje kontrolowany przez użytkownika ciąg fullCommand, a walidacja sprawdza tylko nazwę pliku wykonywalnego, co pozwala na wykonanie dowolnych poleceń przez argument -c w npx.
- CVE-2026-22219Wysokie
Podatność SSRF w Chainlit przed wersją 2.9.4 pozwala uwierzytelnionemu atakującemu na wykonanie żądań HTTP z serwera do wewnętrznych usług sieciowych lub punktów końcowych metadanych chmury poprzez kontrolowany przez użytkownika adres URL w elemencie podczas aktualizacji przepływu /project/element z backendem SQLAlchemy.
- CVE-2026-22218Średnie
Podatność w Chainlit przed wersją 2.9.4 umożliwia uwierzytelnionemu atakującemu odczyt dowolnego pliku na serwerze poprzez manipulację ścieżką w żądaniu aktualizacji elementu projektu. Atakujący może skopiować plik do swojej sesji, a następnie pobrać go za pomocą identyfikatora elementu.
- CVE-2026-86099Wysokie
Chainlit do wersji 2.12.0 nie waliduje parametru sessionId dostarczanego przez klienta socket.io, co pozwala nieuwierzytelnionym atakującym na manipulację ścieżkami plików poprzez wstrzykiwanie sekwencji ścieżek bezwzględnych lub względnych. Atakujący mogą tworzyć złośliwe wartości sessionId, które wychodzą poza katalog przesyłania i rekurencyjnie usuwać dowolne katalogi dostępne dla procesu usługi.
- CVE-2026-82290Średnie
Chainlit do wersji 2.12.0 nie waliduje własności rekordów opinii w punktach końcowych PUT i DELETE. Uwierzytelnieni atakujący mogą usuwać lub modyfikować opinie innych użytkowników, podając dowolne identyfikatory opinii, co może zepsuć dane oceny ludzkiej używane do ewaluacji modeli.
- CVE-2026-45019Wysokie
Chainlit w wersjach od 2.4.0rc0 do 2.12.0, gdy funkcja features.mcp.enabled jest włączona, udostępnia endpoint POST /mcp bez wymaganego uwierzytelnienia. Atakujący może kontrolować adres URL i nagłówki żądań, co pozwala na wysyłanie żądań do wewnętrznych lub zewnętrznych usług, w tym do metadanych chmury, z dowolnymi nagłówkami Authorization i Cookie. Problem został naprawiony w wersji 2.12.0.
Oryginalny opis (angielski, źródło NVD)
Chainlit before 2.10.1 contains a session hijacking vulnerability that allows unauthenticated attackers to restore and inherit authenticated user sessions by presenting a valid sessionId during WebSocket session restoration without ownership verification. Attackers can exploit the restore_existing_session path to assume a victim's permissions and roles, enabling unauthorized invocation of tools and access to data restricted to the authenticated victim.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

