@@ -80,3 +80,36 @@ the JSON-RPC error payload, exposing the long-lived operator credential.
8080- If you exposed an earlier version to an untrusted network, rotate the Meta
8181 access token (` https://developers.facebook.com/tools/debug/accesstoken/ ` )
8282 and review Graph API access logs for unexpected calls.
83+
84+ ### GHSA-2v2f -mvfg-ph56 — ` X-Pipeboard-Token ` header bypasses auth and reuses operator Meta access token
85+
86+ - ** Severity:** High (CVSS 3.1 7.4 — ` AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N ` )
87+ - ** Affected versions:** ` <= 1.0.113 ` when run with ` --transport streamable-http `
88+ and a ` META_ACCESS_TOKEN ` environment variable.
89+ - ** Fixed in:** ` 1.0.115 `
90+ - ** Affected configurations:** Self-hosted deployments that expose the
91+ streamable-HTTP port on a reachable network interface with ` META_ACCESS_TOKEN `
92+ set. The hosted MCP at ` *.mcp.pipeboard.co ` was not affected — it does not set
93+ ` META_ACCESS_TOKEN ` and binds the Python process to localhost behind an
94+ authenticating proxy.
95+
96+ ** What went wrong.** This is a follow-up to GHSA-9gw6 -46qc-99vr. After that fix,
97+ ` AuthInjectionMiddleware ` rejected a request only when * both* a primary token and
98+ a supplementary token were absent. ` X-Pipeboard-Token ` is a supplementary service
99+ token (used only for the duplication callback) and is read into the supplementary
100+ slot, so a request carrying ` X-Pipeboard-Token ` alone — with any arbitrary value —
101+ satisfied the guard and passed through. No request auth context was set, so tool
102+ handlers fell back to the operator's ` META_ACCESS_TOKEN ` , letting a
103+ network-reachable caller act as the operator.
104+
105+ ** Fix.** ` AuthInjectionMiddleware ` now requires a primary access-token credential
106+ (` Authorization: Bearer ` , ` X-META-ACCESS-TOKEN ` , or ` X-PIPEBOARD-API-TOKEN ` ) and
107+ returns ` 401 Unauthorized ` otherwise. ` X-Pipeboard-Token ` is treated as a
108+ supplementary token only and cannot, on its own, admit a request.
109+
110+ ** Action for operators.**
111+ - Upgrade to ` 1.0.115 ` or later.
112+ - If you exposed an earlier version on a reachable network with
113+ ` META_ACCESS_TOKEN ` set, rotate the Meta access token
114+ (` https://developers.facebook.com/tools/debug/accesstoken/ ` ) and review Graph
115+ API access logs for unexpected calls.
0 commit comments