CVE-2026-54547
WysokieCVSS 7.4Streszczenie
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.
Ocena ryzyka
Atakujący może wykonywać narzędzia MCP z uprawnieniami operatora, co pozwala na odczyt i modyfikację danych Meta Ads należących do organizacji. Wdrożenia korzystające z domyślnego transportu stdio lub bez ustawionego META_ACCESS_TOKEN nie są narażone.
Rekomendacja
Zaktualizuj Meta Ads MCP do wersji 1.0.115 lub nowszej. Jeśli to możliwe, ogranicz dostęp sieciowy do serwera MCP oraz rozważ usunięcie lub rotację tokenu META_ACCESS_TOKEN.
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-48039Krytyczne
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.
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.115, AuthInjectionMiddleware in meta_ads_mcp/core/http_auth_integration.py rejects HTTP MCP requests only when both auth_token and pipeboard_token are absent, while extract_token_from_headers() does not recognize X-Pipeboard-Token as a primary credential. A network caller using the streamable-http transport can therefore send any X-Pipeboard-Token value, pass the guard without establishing authentication context, and cause get_auth_token() to fall back to the server operator's META_ACCESS_TOKEN. Subsequent MCP tools execute with the operator's Meta credentials and can read or modify the operator's Meta Ads data. Deployments using the default stdio transport or without META_ACCESS_TOKEN are not affected. This issue is fixed in version 1.0.115.

