CVE-2026-49857
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 - wyżej niż 28% wszystkich znanych CVE
Streszczenie
auth-fetch-mcp to serwer MCP, który pozwala asystentom AI pobierać treści z uwierzytelnionych stron internetowych. Wersja 3.0.1 implementuje ochronę SSRF w `assertSafeUrl()` (`src/security.ts`), aby blokować żądania do prywatnych adresów i adresów pętli zwrotnej. Jednak funkcja `isPrivateV6()` nie wykrywa adresów IPv4-mapped IPv6 loopback w ich znormalizowanej formie szesnastkowej. Gdy atakujący dostarczy URL taki jak `http://[::ffff:127.0.0.1]:PORT/`, parser URL WHATWG w Node.js po cichu normalizuje hosta do `[::ffff:7f00:1]`. Ponieważ `net.isIPv4('7f00:1')` zwraca `false`, kontrola adresów prywatnych jest pomijana i URL jest przekazywany do przeglądarki lub klienta HTTP, umożliwiając narzędziu MCP dotarcie do usług pętli zwrotnej, które powinny być zablokowane. Problem jest wykorzystywalny w domyślnej konfiguracji bez żadnych specjalnych zmiennych środowiskowych. Wersja 3.0.1 łata ten problem.
Ocena ryzyka
Ryzyko obejmuje możliwość wykorzystania serwera MCP do ataków SSRF na usługi wewnętrzne, co może prowadzić do nieautoryzowanego dostępu do wrażliwych danych lub systemów.
Rekomendacja
Zaleca się aktualizację auth-fetch-mcp do wersji 3.0.1 lub nowszej oraz monitorowanie ruchu wychodzącego z serwera MCP.
Oryginalny opis (angielski, źródło NVD)
auth-fetch-mcp is an MCP server that lets AI assistants fetch content from authenticated web pages. Version 3.0.1 implements SSRF protection in `assertSafeUrl()` (`src/security.ts`) to block requests to private and loopback addresses. However, the `isPrivateV6()` function fails to detect IPv4-mapped IPv6 loopback addresses in their hex-normalized form. When an attacker supplies a URL such as `http://[::ffff:127.0.0.1]:PORT/`, the Node.js WHATWG URL parser silently normalizes the host to `[::ffff:7f00:1]`. Because `net.isIPv4('7f00:1')` returns `false`, the private-IP check is bypassed and the URL is passed to the browser or HTTP client, allowing the MCP tool to reach loopback services that are supposed to be blocked. The issue is exploitable under default configuration without any special environment variable. Version 3.0.1 patches the issue.

