ZeroHour

CVE-2026-54549

niche

Unauthenticated SSRF in Meta Ads MCP server (upload_ad_image)

CVSS 3.1
8.3 high
EPSS
Published
()
Modified
AI analysis

Meta Ads MCP, a Model Context Protocol server that lets AI assistants manage Meta ad campaigns, contains a server-side request forgery (SSRF) flaw in its upload_ad_image tool prior to version 1.0.115. The tool passes an attacker-controlled image_url to a downloader that uses httpx with follow_redirects=True and never validates the scheme, host, or resolved IP address, so the server can be directed at loopback services, private-network hosts, or cloud metadata endpoints. In streamable-http deployments the flaw is effectively unauthenticated: any non-empty Authorization header is accepted because Meta credential validation only happens after the image download. A successful attacker can read internal data, invoke state-changing internal services, or disrupt reachable services; the issue is fixed in version 1.0.115 and there is no evidence of exploitation in the wild.

What to do: Upgrade Meta Ads MCP to version 1.0.115 or later immediately. If streamable-http deployment must be used, place the server behind a real authentication layer and enforce egress rules blocking loopback, RFC1918 ranges, and the link-local cloud metadata endpoint (169.254.169.254); prefer stdio deployments where practical. Review server logs for unusual image_url fetches or redirect chains targeting internal hosts, and rotate Meta credentials if any are found.

Affected
Meta Ads MCP project Meta Ads MCP< 1.0.115
Estimated exposure
nicheunknown (plausibly on the order of hundreds of self-hosted instances) — This is a niche open-source MCP server with no published install counts or internet-scan footprint; such servers are typically self-hosted by individual developers or small teams, so the exposed population is very small and unquantified.

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

Meta Ads MCP is a Model Context Protocol (MCP) server that lets AI assistants run Meta Ads. Prior to version 1.0.115, the upload_ad_image tool in meta_ads_mcp/core/ads.py passes an attacker-controlled image_url to try_multiple_download_methods() in meta_ads_mcp/core/utils.py, where httpx.AsyncClient uses follow_redirects=True and performs HTTP requests without validating the scheme, host, or resolved IP address. In a streamable-http deployment, a network caller can use any non-empty authorization value because Meta credential validation occurs after the image download, then direct the server to loopback services, private-network addresses, cloud metadata endpoints, or redirect-chained internal targets. The resulting server-side request forgery can expose internal data, invoke state-changing internal services, or disrupt reachable services. This issue is fixed in version 1.0.115.

Weakness
CWE-918
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L

In the news

No ingested article mentions this CVE yet.