CVE-2026-22218
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 95 - wyżej niż 95% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości ujawnienia poufnych danych, takich jak pliki konfiguracyjne, klucze prywatne lub dane użytkowników, które są czytelne dla usługi Chainlit.
Rekomendacja
Należy niezwłocznie zaktualizować Chainlit do wersji 2.9.4 lub nowszej, która usuwa tę podatność.
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-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.
- CVE-2026-56104Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
Chainlit versions prior to 2.9.4 contain an arbitrary file read vulnerability in the /project/element update flow. An authenticated client can send a custom Element with a user-controlled path value, causing the server to copy the referenced file into the attacker’s session. The resulting element identifier (chainlitKey) can then be used to retrieve the file contents via /project/file/<chainlitKey>, allowing disclosure of any file readable by the Chainlit service.

