Podatności mcp-searxng
4 znanych podatności CVE w mcp-searxng, przetłumaczonych i ocenionych.
- CVE-2026-58485Wysokie
W mcp-searxng przed wersją 1.7.1 funkcja web_url_read przyjmuje kontrolowany przez wywołującego URL i waliduje jedynie literalną nazwę hosta w assertUrlAllowed() przed wykonaniem rozwiązywania DNS przez undiciFetch(). Publicznie wyglądająca nazwa hosta kontrolowana przez atakującego, która rozwiązuje się do adresu prywatnego, loopback, link-local lub cloud-metadata, przechodzi kontrolę leksykalną i powoduje połączenie serwera MCP z wewnętrznym celem. W domyślnej konfiguracji HTTP nieuwierzytelniony klient sieciowy może odczytywać wewnętrzne usługi, ujawniać poświadczenia lub tokeny oraz enumerować osiągalne hosty wewnętrzne. Problem naprawiono w wersji 1.7.1.
- CVE-2026-58483Wysokie
W mcp-searxng przed wersją 1.7.1 funkcja web_url_read przekazuje URL dostarczony przez wywołującego do readUrlContent(), gdzie checkContentLength() traktuje brak nagłówka Content-Length jako niekonkluzyjny preflight, a następnie ścieżki normalna i błędów pobierają całe ciało odpowiedzi przez response.text(). Serwer pomijający Content-Length może obejść limit URL_READ_MAX_CONTENT_LENGTH_BYTES i wymusić nieograniczone zużycie pamięci, a wynikowy ciąg jest przetwarzany przez NodeHtmlMarkdown.translate(), zwiększając zużycie CPU. Nieuwierzytelniony klient HTTP może wywołać odmowę usługi. Problem naprawiono w wersji 1.7.1.
- CVE-2026-54689Średnie
mcp-searxng przed wersją 1.2.0 zawiera podatność w polityce URL web_url_read, która może zostać ominięta, gdy włączony jest MCP_HTTP_HARDEN, a MCP_HTTP_ALLOW_PRIVATE_URLS nie jest włączony. Obejście wynika z braku ponownej walidacji celów przekierowań, nieklasyfikowania adresu 0.0.0.0 jako wewnętrznego oraz nierozpoznawania adresów IPv4-mapped IPv6 w formie szesnastkowej. Atakujący może wpłynąć na wywołanie narzędzia, aby serwer MCP pobrał zasoby z pętli zwrotnej lub wewnętrznych adresów HTTP i zwrócił ich zawartość.
- CVE-2026-54688Średnie
mcp-searxng przed wersją 1.2.0 zawiera podatność, w której funkcja web_url_read przekazuje URL dostarczony przez wywołującego do ścieżki pobierania po stronie serwera, a walidacja assertUrlAllowed() jest wykonywana tylko wtedy, gdy włączony jest MCP_HTTP_HARDEN, który domyślnie jest wyłączony. W domyślnej konfiguracji atakujący, który wpływa na URL wybrany przez użytkownika lub agenta AI, może sprawić, że serwer pobierze zasoby z pętli zwrotnej, sieci prywatnej lub punktów końcowych metadanych chmury i zwróci ich zawartość do kontekstu modelu.

