HIGH🇬🇧 English

CVE-2026-55641

9Router: pominięcie uwierzytelnienia via nagłówek Host + SSRF

CVSS 8.2v3.1pub. 2026-07-10

9Router przed wersją 0.5.2 nieprawidłowo weryfikuje lokalność żądań do proxy LLM, opierając się na kontrolowanym przez klienta nagłówku HTTP Host. Nieuwierzytelniony zdalny atakujący może wysłać nagłówek Host: localhost, omijając wymaganie klucza API i uzyskując dostęp do funkcji zastrzeżonych dla żądań lokalnych.

Pokaż oryginał (EN)

9Router is an AI router & token saver. Prior to 0.5.2, 9router determines whether a /v1 LLM proxy request is local by reading the client-controlled Host header, allowing a remote unauthenticated attacker to send Host: localhost and bypass API-key authentication. In the default configuration, this exposes the /v1 proxy to upstream provider calls using stored provider credentials and allows /v1/search with the searxng provider_options.baseUrl parameter to drive server-side requests to internal or cloud-metadata hosts. This issue is fixed in version 0.5.2.

🤖 Analiza AI
Jak działa

Aplikacja 9Router sprawdza, czy przychodzące żądanie do endpointu /v1 pochodzi z hosta lokalnego, odczytując wartość nagłówka Host dostarczonego przez klienta. Ponieważ nagłówek ten może być dowolnie sfałszowany przez atakującego (np. Host: localhost), mechanizm kontroli dostępu można ominąć bez posiadania prawidłowego klucza API. W domyślnej konfiguracji umożliwia to wykonywanie wywołań do zewnętrznych dostawców LLM przy użyciu przechowywanych na serwerze poświadczeń. Dodatkowo endpoint /v1/search z parametrem provider_options.baseUrl dostawcy searxng pozwala atakującemu sterować żądaniami po stronie serwera (SSRF) — w tym do wewnętrznych zasobów sieciowych lub punktów końcowych metadanych środowisk chmurowych.

Skutki

Atakujący może przejąć przechowywane poświadczenia do dostawców LLM (naruszenie poufności) oraz przeprowadzić atak SSRF umożliwiający odczyt wewnętrznych zasobów sieciowych lub metadanych chmurowych (np. AWS IMDSv1), co może prowadzić do dalszej eskalacji dostępu.

Mitygacja

Należy zaktualizować 9Router do wersji 0.5.2, w której problem został naprawiony. Patch dostępny w referencjach producenta: https://github.com/decolua/9router/releases/tag/v0.5.2

Kogo dotyczy

9Router w wersjach wcześniejszych niż 0.5.2

Uwagi

Podatność obejmuje jednocześnie cztery klasy błędów: CWE-290 (auth bypass przez spoofing), CWE-348 (poleganie na nagłówku Host kontrolowanym przez klienta), CWE-918 (SSRF) oraz CWE-1327 (nieprawidłowa izolacja zasobów wewnętrznych). Poprawka opisana w advisory GHSA-86m2-fcxq-5q7c na GitHub.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje