Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Power User or higher
-
DeliveryRegister remote MCP server with URL 169.254.169.254
-
ExploitController auto-fetches metadata during reconcile
-
ExecutionSSRF response reflected in error message
-
PersistRead cloud IAM credentials
-
ImpactPivot into cloud account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with the Power User, Power User Plus, or Admin role on an Obot instance <= v0.22.1 with authentication enabled and privileged users permitted to register remote MCP servers. The vulnerable path is RemoteRuntimeConfig.URL, which is validated only for parseability and http/https scheme; the metadata-sync fetch runs automatically during reconciliation, so no user interaction beyond registration is needed. Impact is maximized when Obot runs in a cloud environment with an instance-metadata credential endpoint (169.254.169.254) reachable. The one existing egress guard (DisallowLocalhostMCP) is disabled by default, only blocks loopback when enabled, and is absent entirely from the automatic metadata-fetch path - so default configurations offer no protection against internal, link-local, or RFC1918 destinations. |
| Impact | Signals are consistent and point to a real but role-gated issue. The CVSS 4.0 vector (AV:N/AC:L/PR:H/UI:N/VC:H/SC:H) and the vendor's CVSS 3.1 (7.6, CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:L/A:N) both correctly encode network reachability, low attack complexity, high privilege requirement, no user interaction, and a scope change with high confidentiality impact - reflecting SSRF that reads cloud IAM credentials from 169.254.169.254. No EPSS score, no CISA KEV listing, and no public POC are provided, so this is 'no public exploit identified at time of analysis.' The dominant limiting factor is PR:H: exploitation requires an authenticated Power User, Power User Plus, or Admin account, which sharply narrows the attacker population to insiders or attackers who have already compromised a privileged account. There is no conflict among the signals; the main caveat is that impact hinges on deployment context (Obot running in a cloud environment with an attached instance-metadata credential). This is a genuine priority for cloud-hosted Obot instances that delegate MCP-server registration to non-admin privileged roles, but it is not mass-exploitable given the authentication barrier and low deployment footprint. |
| Exploit ScenarioDerived | A user holding the Power User or higher role registers a remote MCP server whose URL points at http://169.254.169.254/latest/meta-data/iam/security-credentials/. Obot's controller automatically fetches OAuth discovery metadata from that URL during reconciliation with no destination validation, and because the response body is reflected in Obot's error messages, the attacker reads the host's cloud IAM credentials and pivots into the cloud account. No public POC is identified, but the non-blind, no-user-interaction fetch path makes reliable exploitation straightforward for a privileged user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 27, 2026
Server-side request forgery in Obot through v0.22.1 allows an authenticated user holding the Power User, Power User Plus, or Admin role to register a remote MCP server pointing at an arbitrary URL, which Obot then fetches server-side with no destination validation. Because the fetched response is reflected back in Obot's error messages, this is a non-blind SSRF: the attacker can read responses from internal services and, against the cloud metadata endpoint 169.254.169.254, potentially obtain the host's cloud IAM credentials and pivot into the cloud account. Exploitation is role-gated and requires authentication to be enabled with privileged users permitted to register remote MCP servers; there is no public exploit identified at time of analysis, and the issue is fixed in v0.23.0.
RemediationAI
Vendor-released patch: upgrade to Obot v0.23.0 or later, which applies a single outbound egress chokepoint rejecting loopback, link-local (including 169.254.169.254), RFC1918, and IPv6 ULA addresses at dial time, uniformly across both the remote-MCP client and the OAuth-metadata client (see https://github.com/obot-platform/obot/security/advisories/GHSA-jgh3-fggc-mcpm). If upgrading immediately is not possible, mitigating controls are limited and partial: enable DisallowLocalhostMCP, but note this only blocks loopback addresses, is off by default, and does not cover the automatic metadata-fetch path or RFC1918/link-local targets; restrict who holds Power User, Power User Plus, or Admin roles so untrusted users cannot register remote MCP servers; and add network-layer egress filtering that denies traffic from Obot hosts to 169.254.169.254 and internal RFC1918 ranges. On cloud infrastructure, enforcing IMDSv2 with token-required access reduces the value of metadata endpoint reachability, though it does not close the underlying SSRF path to internal services. Each of these compensating controls leaves a residual gap relative to the v0.23.0 chokepoint, so patching remains the primary remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in go, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Obot is a Go-based platform (module go/github.com/obot-platform/obot) for managing Model Context Protocol (MCP) servers. When a user registers a remote MCP server, the URL is stored in RemoteRuntimeConfig.URL after only a parseability and http/https scheme check; 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 reconciliation - meaning the vulnerable fetch can trigger with no user interaction beyond registration. The root cause is CWE-918 (Server-Side Request Forgery): unvalidated user-supplied URLs are used for outbound requests, with no guard against loopback, link-local (including 169.254.169.254), RFC1918 private ranges, or IPv6 ULA. The one existing egress control, DisallowLocalhostMCP, is disabled by default, only blocks loopback when enabled, and is absent entirely from the automatic metadata-fetch code path. Since fetched bodies are reflected in error messages, the SSRF is non-blind, turning internal-only services and the cloud instance metadata service into readable data sources.
Know when Obot gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N
Remote and low-complexity but requires a Power User/Admin role (PR:H); auto-fetch means UI:N; SSRF crosses a security boundary (S:C) disclosing cloud credentials (C:H) with minor integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Obot before v0.23.0 contains a server-side request forgery vulnerability in remote MCP server registration that allows privileged users to specify arbitrary URLs without destination validation. Attackers with Power User or higher roles can coerce Obot to make requests to internal services and cloud metadata endpoints, reading responses in error messages to disclose sensitive credentials.
Technical POC Analysis
CWE-918 (SSRF), with CWE-1188 (insecure default) as a contributing weakness, in Obot's remote MCP server registration path.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Obot v0.22.1 and earlier contains a high-severity server-side request forgery flaw that allows users with elevated roles to make the platform fetch arbitrary internal URLs, potentially exposing sensitive services and cloud instance metadata. If exploited, an attacker with an existing privileged account could obtain cloud IAM credentials and pivot into the organization's cloud environment, leading to data breaches or unauthorized resource control. Leadership should prioritize remediation because this vulnerability can turn a single compromised privileged account into a broad cloud compromise, and no public exploit has been identified at this time.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Obot deployments started with the README's Docker quickstart expose port 0.0.0.0:8080 with authentication disabled, allo
Authorization bypass in Obot before v0.21.1 lets any authenticated user with a known MCP Server ID connect to restricted
OAuth dynamic client registration in Obot through v0.22.1 allows unauthenticated remote attackers to register an OAuth c
An authorization bypass in Obot 0.21.1 through 0.24.1 lets any authenticated account holding the low-privileged 'Basic-r
Obot versions 0.12.0 through 0.26.1 return admin- and power-user-supplied static secrets (API keys, tokens) on MCP catal
Unauthenticated disclosure of MCP Registry metadata affects Obot deployments running versions up to and including v0.22.
Authorization bypass in Obot 0.26.0 through 0.26.1 lets an authenticated user who matches any configured vMCP (virtual M
Obot versions 0.25.0 through 0.25.5 and 0.26.0 can persist stale group memberships after an administrator revokes a user
EUVD-2026-88031
GHSA-jvrr-x58p-75mm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB