CVE-2026-48039
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 36 - wyżej niż 36% wszystkich znanych CVE
Streszczenie
Meta Ads MCP przed wersją 1.0.109 ma podatność w AuthInjectionMiddleware.dispatch(), która bezwarunkowo przekazuje nieuwierzytelnione żądania Streamable HTTP do handlerów narzędzi MCP bez zwracania odpowiedzi 401, co pozwala każdemu wywołującemu z sieci na wywoływanie narzędzi MCP bez uwierzytelnienia. Gdy brakuje poświadczeń, handlery używają zmiennej środowiskowej META_ACCESS_TOKEN, a gdy wywołanie Meta Graph API nie powiedzie się, odpowiedź JSON-RPC zawiera surowy URL żądania z tokenem dostępu, co ujawnia poświadczenia nieuwierzytelnionemu wywołującemu.
Ocena ryzyka
Nieuwierzytelniony atakujący może wywoływać narzędzia MCP i uzyskać token dostępu Meta, co może prowadzić do nieautoryzowanego dostępu do kont reklamowych.
Rekomendacja
Zaktualizuj Meta Ads MCP do wersji 1.0.109 lub nowszej, która zawiera poprawkę.
Inne podatności w Meta Ads MCP
Zobacz wszystkie- CVE-2026-54549Wysokie
W Meta Ads MCP przed wersją 1.0.115 narzędzie upload_ad_image w meta_ads_mcp/core/ads.py przekazuje kontrolowany przez atakującego image_url do try_multiple_download_methods() w meta_ads_mcp/core/utils.py, gdzie httpx.AsyncClient używa follow_redirects=True i wykonuje żądania HTTP bez walidacji schematu, hosta lub rozwiązanego adresu IP. W wdrożeniu streamable-http wywołujący sieciowy może użyć dowolnej niepustej wartości autoryzacji, ponieważ walidacja poświadczeń Meta następuje po pobraniu obrazu, a następnie skierować serwer do usług loopback, adresów sieci prywatnej, punktów końcowych metadanych chmury lub łańcuchów przekierowań do celów wewnętrznych. Wynikające z tego SSRF może ujawnić dane wewnętrzne, wywołać usługi wewnętrzne zmieniające stan lub zakłócić osiągalne usługi. Problem naprawiono w wersji 1.0.115.
- CVE-2026-54547Wysokie
Serwer Meta Ads MCP w wersjach przed 1.0.115 zawiera błąd w mechanizmie uwierzytelniania AuthInjectionMiddleware, który odrzuca żądania HTTP tylko gdy brakuje obu tokenów, a funkcja extract_token_from_headers() nie rozpoznaje nagłówka X-Pipeboard-Token jako głównego poświadczenia. Zdalny atakujący przez transport streamable-http może wysłać dowolną wartość tego nagłówka, ominąć zabezpieczenie i spowodować użycie przez serwer tokenu META_ACCESS_TOKEN operatora.
Oryginalny opis (angielski, źródło NVD)
Meta Ads MCP is a Model Context Protocol (MCP) server that lets AI assistants run Meta Ads. Prior to version 1.0.109, `AuthInjectionMiddleware.dispatch()` at `http_auth_integration.py:272` unconditionally forwards unauthenticated Streamable HTTP requests to downstream MCP tool handlers without issuing a `401` response, allowing any network-reachable caller to invoke MCP tools without authentication. When no per-request credential is present, tool handlers fall back to the `META_ACCESS_TOKEN` environment variable, and when the downstream Meta Graph API call fails, `api.py:263–269` serialises the raw `httpx` request URL—including the operator's `access_token` as a query parameter—into the JSON-RPC response body, delivering the credential to the unauthenticated caller. Version 1.0.109 fixes the issue.

