Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed 0.0.0.0:8080
-
DeliveryAuto-mapped to nobody (Owner/Admin)
-
ExploitRegister attacker-controlled MCP server
-
ExecutionMCP backend accesses /var/run/docker.sock
-
PersistControl host Docker daemon
-
ImpactFull host compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication required for critical functions
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the operator to have deployed via the documented Docker quickstart (which sets 0.0.0.0:8080 with authentication disabled, OBOT_SERVER_ENABLE_AUTHENTICATION unset/false) AND to have exposed port 8080 to a reachable/untrusted network. Under those conditions no attacker credentials or user interaction are needed - every request is mapped to the 'nobody' Owner/Admin user. The host-Docker escalation additionally requires the quickstart's default /var/run/docker.sock mount to be in place. Limiting factors: an operator who bound to localhost, placed the port behind a firewall/reverse-proxy auth, or set OBOT_SERVER_ENABLE_AUTHENTICATION=true is not exploitable; the documentation-only fix does not remediate already-running instances. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:H, base 9.3) accurately reflects that any network party reaching the exposed port gains full Owner/Admin access with no authentication or user interaction - and because the quickstart also mounts /var/run/docker.sock, the impact extends to host Docker control (i.e., host compromise), which the vendor's SC:N/SI:N/SA:N arguably understates. The critical countervailing signal is that this is NOT a code flaw but an insecure-default in the documented Docker quickstart: exploitation only affects operators who (a) followed the previous README instructions and (b) exposed port 8080 to an untrusted network. There is no EPSS score, no CISA KEV listing, and no published proof-of-concept in the provided data, so there is no evidence of active or widespread exploitation. Net: the technical impact is genuinely critical (unauth admin + host Docker escape), but real-world priority is bounded by the niche product footprint and the operator-deployment precondition. This is a real 'fix your deployment now' issue for anyone running the quickstart on an exposed host, not a mass-exploitation emergency. The fix is documentation-only - operators must set OBOT_SERVER_ENABLE_AUTHENTICATION=true - so patching a version does not automatically remediate already-deployed instances. |
| Exploit ScenarioDerived | An operator follows Obot's documented Docker quickstart, which binds the container to 0.0.0.0:8080 with authentication disabled, and exposes the host to a network. An unauthenticated attacker who reaches the port is silently mapped to the synthetic 'nobody' user holding Owner and Admin roles, giving full API/UI control; they register and launch an attacker-controlled MCP server whose runtime backend can reach the mounted /var/run/docker.sock, pivoting to full host Docker control. No public exploit code is identified in the provided data, but exploitation requires only standard HTTP tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 27, 2026
Obot deployments started with the README's Docker quickstart expose port 0.0.0.0:8080 with authentication disabled, allowing unauthenticated attackers who can reach that port to take full Owner/Admin control of the Obot API and UI. Because every request is mapped to a synthetic 'nobody' user that already holds Owner and Admin roles, an attacker can register and launch attacker-controlled MCP servers, and since the quickstart also mounts /var/run/docker.sock into the container, that control extends to the host's Docker daemon. All versions through commit d7e6970 are affected; the vendor fix is documentation-only (the quickstart now enables authentication), no public exploit code has been identified at time of analysis, and instances are safe only if the operator set OBOT_SERVER_ENABLE_AUTHENTICATION=true or kept port 8080 off untrusted networks.
RemediationAI
The upstream fix is documentation-only: the quickstart now enables authentication by default, so upgrading the README/quickstart instructions or pulling the corrected deployment manifests removes the insecure default for new installs, but there is no code-level patch version to install and the change does not remediate already-running instances. Operators who deployed following the previous quickstart should immediately set OBOT_SERVER_ENABLE_AUTHENTICATION=true in the container environment and restart the Obot service, then confirm that requests without valid credentials are rejected; if no authentication provider is configured yet, take the instance off untrusted networks until it is. As compensating controls, bind the published port to 127.0.0.1 (or an internal interface) with -p 127.0.0.1:8080:8080, restrict port 8080 to trusted source addresses with host firewall rules or a security group, or front the service with a reverse proxy that enforces authentication - each of these limits remote access and therefore reduces the practical utility of the deployment while a proper fix is applied. The quickstart's default mount of /var/run/docker.sock should also be removed, or the Obot process should be given only the Docker permissions it genuinely requires, because that mount converts an Obot compromise into host Docker control; the trade-off is that MCP servers which rely on launching sibling containers through the Docker socket will stop working until an alternative runtime backend is configured. Verify the current state against the vendor advisory at https://github.com/obot-platform/obot/security/advisories/GHSA-jj4w-pfgv-4mrm and the VulnCheck advisory at https://www.vulncheck.com/advisories/obot-quickstart-docker-deployment-unauthenticated-admin-access, and treat any Obot instance that was reachable on 0.0.0.0:8080 with authentication disabled as potentially compromised - rotate credentials, review registered MCP servers and launched containers, and inspect the host Docker daemon for unauthorized images or volumes.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Obot is an open-source AI agent and Model Context Protocol (MCP) platform; its server component is typically run as a container that exposes an HTTP API and web UI on port 8080. The root cause is CWE-306 (Missing Authentication for Critical Function): in the documented quickstart configuration the container is published on 0.0.0.0:8080 while OBOT_SERVER_ENABLE_AUTHENTICATION is unset/false, so the platform's authentication middleware is bypassed entirely and all inbound requests are resolved to an internal synthetic 'nobody' principal that has been granted the Owner and Admin roles. That gives an unauthenticated caller the same privileges as an administrator, including the ability to define and start MCP servers. The quickstart additionally bind-mounts the host's /var/run/docker.sock into the container, so the MCP runtime backend reached through that admin interface can drive the host Docker control surface, turning a web-tier auth bypass into potential host compromise. The CPE cpe:2.3:a:obot-platform:obot:*:*:*:*:*:*:*:* confirms that no released version before the README change carried a safe default; the vendor advisory GHSA-jj4w-pfgv-4mrm and the VulnCheck advisory both describe this as a deployment-defaults issue rather than a code-level memory or injection flaw. The published CVSS 4.0 base score of 9.3 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) is consistent with an independently assessed CVSS 3.1 vector of AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H; the independent view notes that the S:C rating and the host-Docker escalation suggest the 4.0 vector's SC:N/SI:N/SA:N understate the true blast radius, since compromise of the MCP runtime reaches the host Docker daemon rather than staying confined to the Obot container. Exploitation is not inherent to the code path: it requires that an operator actually deployed using the documented quickstart and left the port reachable from an untrusted network, and it does not apply to deployments bound to localhost, protected by firewall or reverse-proxy authentication, or started with authentication explicitly enabled.
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:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Unauthenticated network admin access against the documented default (PR:N/AC:L); the mounted docker.sock enables container-to-host escape, justifying S:C with full C/I/A impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Obot is an open-source AI agent/MCP platform. In all versions up to and including commit d7e6970, the Docker quickstart command documented in the README starts the container listening on 0.0.0.0:8080 with authentication disabled by default. When authentication is disabled, every request is mapped to a synthetic "nobody" user that holds the Owner and Admin roles, so any unauthenticated party who can reach the exposed port obtains full administrative access to the Obot API and UI, including the ability to register and launch attacker-controlled MCP servers. Because the quickstart also mounts /var/run/docker.sock into the container, the MCP runtime backend reachable this way has access to the host's Docker control surface. The fix is documentation-only: the quickstart now enables authentication, and operators who followed the previous instructions should set OBOT_SERVER_ENABLE_AUTHENTICATION=true before exposing the host to any untrusted network.
Articles & Coverage 1
Technical POC Analysis
The primary weakness is CWE-306 Missing Authentication for Critical Function.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Obot deployments using the default Docker quickstart configuration are exposed to a critical vulnerability that allows attackers to gain full administrative control of the Obot API and UI, and potentially the host's Docker daemon, leading to complete system compromise. All current versions are affected, posing a severe risk of data breaches, service disruption, and lateral movement. No public exploit identified at time of analysis, but immediate action is required to secure these deployments.
No vendor-released patch identified at time of analysis. Interim mitigations include enabling authentication by setting OBOT_SERVER_ENABLE_AUTHENTICATION=true, ensuring port 8080 is not exposed to untrusted networks (e.g., bind to localhost or use firewall rules), and avoiding the mount of /var/run/docker.sock unless absolutely necessary. Also, adopt the vendor's updated quickstart documentation that enables authentication by default.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
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
Server-side request forgery in Obot through v0.22.1 allows an authenticated user holding the Power User, Power User Plus
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-88030
GHSA-m95h-j2gj-xrgq
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB