CVE-2026-54549
Published:July 17, 2026
Updated:August 27, 2026
The "upload_ad_image" MCP tool in "meta-ads-mcp" v1.0.113 passes an attacker-controlled "image_url" parameter directly to an HTTP fetch helper ("httpx.AsyncClient(follow_redirects=True).get(url)") without any scheme, host, or IP address validation. When the server is deployed with the "streamable-http" transport (a documented, officially supported mode), an unauthenticated remote attacker can supply an arbitrary URL—including "http://127.0.0.1/", RFC 1918 addresses, or cloud metadata endpoints such as "http://169.254.169.254/"—and cause the server to issue an outbound HTTP request to that target. The "Authorization" middleware only verifies that a non-empty Bearer token is present; actual Meta API credential validation occurs after the image download, so any dummy Bearer token bypasses the pre-fetch check. This constitutes a full, unauthenticated Server-Side Request Forgery with a confirmed CVSS 3.1 Base Score of 8.3 (High).
Affected Packages
https://github.com/pipeboard-co/meta-ads-mcp.git (GITHUB):
Affected version(s) >=v1.0.1 <1.0.115Fix Suggestion:
Update to version 1.0.115meta-ads-mcp (PYTHON):
Affected version(s) >=0.1.0 <1.0.115Fix Suggestion:
Update to version 1.0.115meta-ads-mcp (PYTHON):
Affected version(s) >=0.1.0 <1.0.115Fix Suggestion:
Update to version 1.0.115Related Resources (7)
Do you need more information?
Contact UsCVSS v4
Base Score:
6.9
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
NONE
Vulnerable System Confidentiality
LOW
Vulnerable System Integrity
LOW
Vulnerable System Availability
LOW
Subsequent System Confidentiality
LOW
Subsequent System Integrity
LOW
Subsequent System Availability
LOW
CVSS v3
Base Score:
8.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
CHANGED
Confidentiality
LOW
Integrity
LOW
Availability
LOW
Weakness Type (CWE)
Server-Side Request Forgery (SSRF)