CVE-2026-84377
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 24 - wyżej niż 24% wszystkich znanych CVE
Streszczenie
W LiteLLM przed wersjami 1.88.6 i 1.96.2 wykryto podatność, która pozwala każdemu uwierzytelnionemu użytkownikowi proxy na przekierowanie wychodzącego wywołania dostawcy do kontrolowanego przez siebie miejsca docelowego i spowodowanie wysłania skonfigurowanych poświadczeń dostawcy do tego miejsca. Walidacja żądań w wielu plikach używała niekompletnych kontroli, które nie obejmowały wszystkich wrażliwych parametrów lub nie sprawdzały równoważnych wartości w zagnieżdżonych polach. Parametry routingu i poświadczeń, takie jak api_base, base_url, model_list, fallbacks i litellm_credential_name, mogły być stosowane bez usuwania zapisanego klucza operatora, co ujawniało poświadczenia dostawcy i inne skonfigurowane sekrety oraz umożliwiało żądania po stronie serwera do wewnętrznych usług.
Ocena ryzyka
Podatność może prowadzić do wycieku wrażliwych poświadczeń i sekretów, a także umożliwić atakującemu dostęp do wewnętrznych usług, co może skutkować naruszeniem poufności i integralności systemu.
Rekomendacja
Zaleca się natychmiastową aktualizację do wersji 1.88.6 lub 1.96.2, które zawierają poprawkę.
Inne podatności w LiteLLM
Zobacz wszystkie- CVE-2026-37004Krytyczne
BerriAI litellm w wersji 1.82.4 i wcześniejszych jest podatny na Server-Side Template Injection (SSTI). Nieuwierzytelnieni zdalni atakujący mogą wykonać dowolne polecenia systemu operacyjnego poprzez spreparowany parametr dotprompt_content w punkcie końcowym /prompts/test, z powodu użycia niezabezpieczonego środowiska jinja2.Environment.
- CVE-2026-30623Krytyczne
LiteLLM 1.18.10 zawiera podatność zdalnego wykonania kodu w funkcji tworzenia serwera MCP. Aplikacja pozwala użytkownikom dodawać serwery MCP poprzez konfigurację JSON, określając dowolne wartości command i args, które są wykonywane na hoście bez walidacji. Umożliwia to atakującym uruchamianie dowolnych poleceń systemu operacyjnego.
- CVE-2026-59822WysokieAktywnie exploitowane
LiteLLM przed wersją 1.84.0 zawiera podatność w punkcie końcowym MCP Streamable HTTP, która umożliwia nieuwierzytelnionemu atakującemu ominięcie walidacji klucza LiteLLM poprzez spreparowany nagłówek Authorization. Atakujący może wykorzystać mechanizm OAuth2 passthrough, aby zastąpić nieudaną walidację klucza pustym obiektem UserAPIKeyAuth(), co pozwala na dotarcie żądań do narzędzi MCP bez ważnego klucza.
- CVE-2026-49468Krytyczne
LiteLLM proxy przed wersją 1.84.0 zawiera podatność związaną z parsowaniem nagłówka Host, która w określonych warunkach umożliwia nieuwierzytelniony dostęp do chronionych tras administracyjnych. Błąd wynika z rozbieżności między trasą ocenianą przez warstwę autoryzacji a trasą faktycznie przetwarzaną przez FastAPI.
- CVE-2026-42271WysokieAktywnie exploitowane
LiteLLM w wersjach od 1.74.2 do 1.83.6 zawiera podatność w endpointach POST /mcp-rest/test/connection i POST /mcp-rest/test/tools/list, które akceptują pełną konfigurację serwera MCP, w tym polecenia do wykonania. Uwierzytelniony użytkownik z dowolnym kluczem API może uruchomić dowolne polecenie na hoście proxy.
- CVE-2026-42208KrytyczneAktywnie exploitowane
W wersjach LiteLLM od 1.81.16 do 1.83.7 występuje podatność na wstrzykiwanie SQL w zapytaniu do bazy danych używanym podczas sprawdzania kluczy API proxy. Nieuwierzytelniony atakujący może wysłać spreparowany nagłówek Authorization do dowolnej trasy API LLM, co prowadzi do odczytu i potencjalnie modyfikacji danych w bazie proxy.
- CVE-2026-40217Wysokie
Podatność w LiteLLM do 2026-04-08 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu poprzez przepisanie kodu bajtowego na ścieżce /guardrails/test_custom_code.
- CVE-2026-35030Krytyczne
Podatność w LiteLLM przed wersją 1.83.0, gdy włączone jest uwierzytelnianie JWT (enable_jwt_auth: true), polega na tym, że cache OIDC userinfo używa pierwszych 20 znaków tokena jako klucza cache. Tokeny JWT generowane przez ten sam algorytm podpisu mają identyczne pierwsze 20 znaków, co pozwala nieuwierzytelnionemu atakującemu na stworzenie tokena pasującego do cache'a i przejęcie tożsamości oraz uprawnień legalnego użytkownika.
- CVE-2026-35029Wysokie
LiteLLM w wersji przed 1.83.0 zawiera podatność polegającą na braku wymagania autoryzacji roli administratora dla endpointu /config/update. Uwierzytelniony użytkownik może modyfikować konfigurację proxy, zmienne środowiskowe oraz rejestrować własne procedury obsługi endpointów, co prowadzi do zdalnego wykonania kodu, odczytu plików serwera i przejęcia kont uprzywilejowanych.
- CVE-2026-59821Wysokie
LiteLLM przed wersją 1.82.0-stable nie stosował odpowiedniego sandboxingu i walidacji dla niestandardowych reguł ochronnych (Custom Code Guardrails) podczas ich tworzenia i aktualizacji, co pozwalało uprzywilejowanemu użytkownikowi na wykonanie dowolnego kodu Python w środowisku proxy i potencjalne ujawnienie sekretów procesu.
Oryginalny opis (angielski, źródło NVD)
LiteLLM is a proxy server (AI Gateway) to call LLM APIs in OpenAI (or native) format. Prior to versions 1.88.6 and 1.96.2, any authenticated LiteLLM proxy user could redirect an outbound provider call to a destination the user controls and cause the proxy to send its configured provider credentials to that destination. Request validation in litellm/proxy/auth/auth_utils.py, litellm/proxy/common_request_processing.py, litellm/proxy/health_endpoints/_health_endpoints.py, litellm/proxy/image_endpoints/endpoints.py, and litellm/proxy/litellm_pre_call_utils.py used incomplete checks that did not cover every sensitive parameter or inspect equivalent values across nested request fields, path values, and bracket-notation form data. Routing and credential parameters including api_base, base_url, model_list, fallbacks, and litellm_credential_name could therefore be applied without clearing the operator's stored key, exposing upstream provider credentials and other configured secrets and permitting server-side requests to internal services reachable by the proxy. This issue is fixed in versions 1.88.6 and 1.96.2.

