Skip to main content

Obot CVE-2026-101062

| EUVDEUVD-2026-88033 HIGH
Incorrect Authorization (CWE-863)
2026-09-27 VulnCheck GHSA-cfp9-746c-5jrw
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Register OAuth client with attacker redirect URI
  2. Delivery
    Craft authorization URL and phish logged-in victim
  3. Exploit
    Victim click auto-completes flow, code sent to attacker
  4. Execution
    Exchange code for access/refresh tokens
  5. Persist
    Present token as bearer to Obot API
  6. Impact
    Read or modify victim's resources

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires Obot running with OBOT_SERVER_ENABLE_AUTHENTICATION=true (this specific server setting must be enabled), plus a victim who is already logged into Obot and who visits a single attacker-crafted OAuth authorization URL. The attacker needs no account or privileges on Obot (unauthenticated dynamic client registration is reachable), but exploitation is gated by the required victim interaction (clicking the malicious link) and by the non-default authentication-enabled deployment mode. It affects versions <= v0.22.1; v0.23.0 remediates via a consent screen, token audience restriction to the requested MCP server, and audience validation.

Impact

The vendor CVSS 4.0 base score is 8.7 (High) and the GHSA-cited CVSS 3.1 is 8.8, driven by network vector (AV:N), low complexity (AC:L), no attacker privileges (PR:N) and high confidentiality/integrity/availability impact - tempered only by required user interaction (UI:P). No EPSS score, no CISA KEV listing, and no public proof-of-concept were provided, so exploitation status is: no public exploit identified at time of analysis. The high CVSS reflects a genuine, well-understood authorization flaw (CWE-863: three chained defects - unauthenticated OAuth dynamic client registration with unrestricted redirect URIs, consent-less auto-completion of the authz flow, and missing JWT audience validation), but two factors materially lower real-world urgency: it only applies when OBOT_SERVER_ENABLE_AUTHENTICATION=true is set, and it requires a currently-logged-in victim to click a single attacker-crafted authorization URL (a phishing/social step). This is a real, credible authorization bypass worth patching, but the non-default auth prerequisite plus the required victim interaction and the absence of KEV/EPSS/POC signals make it targeted-effort rather than mass-exploitable. Note the input CVSS 4.0 vector uses UI:P (passive) whereas the attack narrative (victim must actively click a crafted link) is better modeled as active interaction - a minor scoring nuance to verify with the vendor.

Exploit ScenarioDerived

An attacker uses Obot's unauthenticated OAuth dynamic client registration to register a client whose redirect URI points to their own domain, then emails a logged-in Obot user a single crafted authorization URL. Because the flow auto-completes with no consent screen, the victim's browser silently delivers an authorization code to the attacker, who exchanges it for access and refresh tokens carrying the victim's full group set; since Obot validated only the issuer and not the audience, the tokens work as bearer credentials against any API the victim can reach. No public exploit code is identified at this time.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 27, 2026

OAuth dynamic client registration in Obot through v0.22.1 allows unauthenticated remote attackers to register an OAuth client pointing at an attacker-controlled redirect URI, then harvest an access and refresh token from a logged-in victim who visits a single crafted authorization URL. The minted token carries the victim's full group set and is accepted as a bearer token against any Obot API endpoint the victim can access - not just the requested MCP server - letting the attacker read or modify the victim's resources until the token is revoked. Exploitation is gated by the server running with OBOT_SERVER_ENABLE_AUTHENTICATION=true and by required victim interaction (clicking the link); no public exploit code has been identified at time of analysis. Versions v0.23.0 and later add a consent screen, token scoping to the requesting MCP server, and audience validation.

RemediationAI

Vendor-released patch: upgrade Obot to v0.23.0 or later, which the advisory states adds three protections - a consent screen that shows the requesting client and the MCP server it seeks access to, restriction of tokens minted by the MCP OAuth flow to only the MCP involved in the request, and audience validation as a fail-safe so those tokens are accepted only for the MCP server they were issued for. Full details are in GHSA-xwmw-prc4-v3cr (https://github.com/obot-platform/obot/security/advisories/GHSA-xwmw-prc4-v3cr) and the VulnCheck advisory. If immediate upgrade is not possible, the most effective compensating control is to stop exposing the Obot OAuth/authorization endpoints to untrusted networks - place the service behind a VPN or an authenticating reverse proxy so the dynamic client registration and authorization URLs cannot be reached by arbitrary internet users; the trade-off is reduced accessibility for legitimate remote users. Because the attack depends on a logged-in victim following a crafted link, restricting the deployment to trusted internal networks and enforcing strict browser/redirect hygiene reduces exposure but does not remove the underlying flaw. Alternatively, running without OBOT_SERVER_ENABLE_AUTHENTICATION removes this specific OAuth path, but that leaves the deployment in an unauthenticated configuration, which is a worse overall posture and should not be used as a long-term mitigation. Also assume that any tokens issued to unexpected clients before remediation may be compromised: audit registered OAuth clients for unrecognized redirect URIs and revoke issued access and refresh tokens, since revocation is the only removal mechanism the advisory identifies once a token has been minted.

Affected VersionsENISA

obot 0 <0.23.0

Affected Packages

go github.com/obot-platform/obot fix: 0.23.0
euvd obot fix: 0.23.0

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

The root cause class is CWE-863 (Incorrect Authorization), realized through three chained OAuth/MCP design flaws in Obot's Model Context Protocol authorization flow. First, the OAuth dynamic client registration endpoint was reachable without authentication and imposed no allowlist or validation on the redirect URIs a client could register, so an attacker could register a legitimate-looking client that redirects to their own domain. Second, the authorization flow auto-completed for an already logged-in user with no consent screen, meaning merely loading the authorization URL issued an authorization code and delivered it to the attacker's redirect URI without any user decision point. Third, the JWT minted by the MCP OAuth flow embedded the victim's full group set - the claim used to authorize API paths - while Obot's JWT verification validated only the issuer and not the audience; audiences were enforced separately at the MCP layer, so the token's intended audience (a single MCP server) did not constrain its use. Combined with the CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:P, this indicates a network-reachable, low-complexity, unauthenticated attack requiring only a passive/present user interaction. The GHSA (GHSA-xwmw-prc4-v3cr) describes the issue as 'OAuth Dynamic Client Registration Enables API Token Theft via Audience Confusion.' The affected component is tracked as CPE cpe:2.3:a:obot-platform:obot:*:*:*:*:*:*:*:* and the Go module go/github.com/obot-platform/obot below 0.23.0.

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

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Unauthenticated network attacker (PR:N, AV:N, AC:L) but a victim must click a crafted link (UI:R); stolen token reads and modifies victim resources on the same system (C:H/I:H, S:U, A:N).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 27, 2026 - 22:01 EUVD
CVE Published
Sep 27, 2026 - 20:49 cve.org
HIGH 8.7

DescriptionCVE.org

Obot before v0.23.0 (affected versions <= v0.22.1) running with OBOT_SERVER_ENABLE_AUTHENTICATION=true exposes OAuth dynamic client registration without authentication and without any restriction on the redirect URIs a client may register. Because the authorization flow auto-completes for an already logged-in user with no consent screen, an attacker who registers a client pointing at their own domain and induces a logged-in victim to visit a single crafted authorization URL receives an authorization code at the attacker-controlled redirect URI and can exchange it for an access token and refresh token. The token minted by the MCP OAuth flow carries the victim's full group set in the JWT, and Obot validated only the issuer and not the audience, so the token is accepted as a bearer token against any Obot API endpoint the victim can access rather than being scoped to the requested MCP server, allowing the attacker to read or modify the victim's resources until the token is revoked. v0.23.0 adds a consent screen, restricts MCP OAuth tokens to the MCP involved in the request, and enforces audience validation.

Technical POC Analysis

Evidence basis: the GHSA-xwmw-prc4-v3cr advisory only.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Obot versions through v0.22.1 are affected by a high-severity OAuth flaw that can allow an attacker to obtain a victim's bearer token and then read or modify any Obot API resources that victim can access. Because the token inherits the victim's full group set, a single successful lure on an authentication-enabled deployment could expose or alter sensitive data until the token is revoked. With no vendor-released patch identified at time of analysis and no public exploit identified at time of analysis, leadership should prioritize accurate inventory of affected deployments, short-term exposure reduction, and planning for the v0.23.0-or-later controls.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting network access to affected Obot instances, disabling dynamic client registration where not required, monitoring and reviewing OAuth client registrations and active tokens, revoking suspicious tokens, and upgrading to Obot v0.23.0 or later where feasible because that release line adds a consent screen, token scoping, and audience validation.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Low
self-hosted open-source AI-agent/MCP gateway, niche early-stage deployment footprint
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy