{"id":"CVE-2026-54547","summary":"Meta Ads MCP: X-Pipeboard-Token Header Auth Bypass Reuses Operator Meta Token","details":"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.","aliases":["GHSA-2v2f-mvfg-ph56","PYSEC-2026-3484"],"modified":"2026-09-17T03:47:26.590339539Z","published":"2026-09-15T17:17:17.216Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-287"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54547.json"},"references":[{"type":"WEB","url":"https://github.com/pipeboard-co/meta-ads-mcp/releases/tag/1.0.115"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54547.json"},{"type":"ADVISORY","url":"https://github.com/pipeboard-co/meta-ads-mcp/security/advisories/GHSA-2v2f-mvfg-ph56"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54547"},{"type":"FIX","url":"https://github.com/pipeboard-co/meta-ads-mcp/commit/95e852793b7ff8604a8132e85d5facd08c91a36e"},{"type":"FIX","url":"https://github.com/pipeboard-co/meta-ads-mcp/pull/137"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/pipeboard-co/meta-ads-mcp","events":[{"introduced":"0"},{"fixed":"95e852793b7ff8604a8132e85d5facd08c91a36e"},{"fixed":"7d9926336bbdac6285a988d043c4ccfe126c94c5"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.0.115"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["1.0.113","1.0.112","1.0.111","1.0.110","1.0.109","1.0.108","1.0.107","1.0.106","1.0.104","1.0.103","1.0.102","v1.0.101","v1.0.100","v1.0.99","v1.0.98","v1.0.97","v1.0.96","v1.0.95","v1.0.94","v1.0.93","v1.0.92","v1.0.91","v1.0.90","v1.0.89","1.0.88","1.0.87","1.0.86","1.0.85","1.0.84","1.0.83","v1.0.82","1.0.81","1.0.80","1.0.79","1.0.78","1.0.77","1.0.76","1.0.73","1.0.75","1.0.74","1.0.72","1.0.71","1.0.70","1.0.69","1.0.68","1.0.67","1.0.66","1.0.65","1.0.64","1.0.63","1.0.62","1.0.61","1.0.60","1.0.59","1.0.58","1.0.57","1.0.56","1.0.55","1.0.54","1.0.53","1.0.52","1.0.51","1.0.50","1.0.49","1.0.48","1.0.47","1.0.46","1.0.45","1.0.44","1.0.43","1.0.42","1.0.41","1.0.40","1.0.39","1.0.38","1.0.36","1.0.35","1.0.34","1.0.33","1.0.32","1.0.31","1.0.30","1.0.29","1.0.28","1.0.27","1.0.26","1.0.25","1.0.24","1.0.23","1.0.22","1.0.21","1.0.20","1.0.19","1.0.18","1.0.17","1.0.16","1.0.15","1.0.14","1.0.13","1.0.12","1.0.11","1.0.10","1.0.9","1.0.8","1.0.7","1.0.6","1.0.5","1.0.4","1.0.3","1.0.2","v1.0.1","1.0.1","1.0.0","0.11.6","0.11.5","0.11.4","0.11.3","0.11.2","0.11.1","0.11.0","0.10.9","0.10.7","0.10.6","0.10.5","0.10.4","0.10.3","0.10.2","0.10.1","0.10.0","0.9.3","0.9.2","0.9.1","0.9.0","0.8.0","0.7.10","0.7.9","0.7.8","0.7.7","0.7.6","0.7.5","0.7.4","0.7.3","0.7.2","0.7.1","0.7.0","0.6.0","0.5.0","0.4.9","0.4.8","0.4.7","0.4.6","0.4.5","0.4.4","0.4.3","0.4.2","0.4.1","0.4.0","0.3.10","0.3.9","0.3.7"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54547.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}