Obot: Server-Side Request Forgery via remote MCP server URL
## Summary In affected versions, the URL of a remote MCP server is attacker-controlled at registration and is fetched server-side with no validation of the destination. There is no guard against loopback, link-local, RFC1918 private ranges, or the cloud metadata endpoint (`169.254.169.254`), so a use with the Power User, Power User Plus, or Admin role can coerce Obot into making requests to internal services and to the cloud instance metadata service, and read the responses. ## Am I affected? You are affected if you run Obot `<= v0.22.1` with authentication enabled and allow privileged users (with the Power User or higher privileges) to register remote MCP servers . The metadata-sync code path that triggers the fetch runs automatically during reconciliation, so no user interaction beyond registration is required. ## Details A remote server's URL (`RemoteRuntimeConfig.URL`) is accepted at registration after only checking that it is parseable and uses an `http`/`https` scheme — the destination is never constrained. Obot then connects to that URL when the server is launched or its OAuth state is checked, and the controller automatically fetches OAuth discovery metadata from it during reconcile. The one egress guard that exists (`DisallowLocalhostMCP`) is disabled by default, only blocks loopback when enabled, and is absent from the automatic metadata-fetch path. Because the fetched response body is reflected back in Obot's error messages, this is a non-blind SSRF. ## Impact An a
GHSA-jgh3-fggc-mcpm
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-jgh3-fggc-mcpm
github.com/obot-platform/obot
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 0.23.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "0.23.0"
}
]
}
],
"package": {
"name": "github.com/obot-platform/obot",
"purl": "pkg:golang/github.com/obot-platform/obot",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-jgh3-fggc-mcpm/GHSA-jgh3-fggc-mcpm.json"
}
}
]- Related CVEs
- CVE-2026-101064
Source reference:
/aliases
Publisher severity
high
Source reference: /database_specific/severity
- Event
- #23382 · Revision 1
- Added to Heist Feed
- Publisher date
GO-2026-6522
Revision 1
Obot: Server-Side Request Forgery via remote MCP server URL in github.com/obot-platform/obot
Obot: Server-Side Request Forgery via remote MCP server URL in github.com/obot-platform/obot
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GO-2026-6522
github.com/obot-platform/obot
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 0.23.0
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "0.23.0"
}
]
}
],
"package": {
"name": "github.com/obot-platform/obot",
"purl": "pkg:golang/github.com/obot-platform/obot",
"ecosystem": "Go"
},
"database_specific": {
"source": "https://vuln.go.dev/ID/GO-2026-6522.json"
},
"ecosystem_specific": {}
}
]- Related CVEs
- CVE-2026-101064
Source reference:
/aliases
Publisher severity
No explicit severity was provided.
- Event
- #23383 · Revision 1
- Added to Heist Feed
- Publisher date