Skip to main content

Okta AI Agent CVE-2026-63377

CRITICAL
Missing Authentication for Critical Function (CWE-306)
2026-10-30 GitHub_M
9.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach exposed port 8001 on fresh instance
  2. Delivery
    Send unauthenticated POST /api/auth/setup
  3. Exploit
    Server creates sole ADMIN account, issues fctr_session JWT
  4. Execution
    Authenticate as admin, lock out legitimate owner
  5. Impact
    Read/modify Okta data, tokens, and integration credentials

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

Requires an instance of okta-ai-agent v3.0.0-beta that has NOT yet completed initial setup (the is_setup flag is false) and whose HTTPS port 8001 is reachable by the attacker. The default docker-compose.yml publishes 8001 on all interfaces and the Dockerfile binds uvicorn to 0.0.0.0, so a default deployment on any network reachable from untrusted hosts is exploitable with no authentication, no bootstrap token, and no IP restriction. The localhost-only CORS rule is browser-enforced only and does not stop non-browser clients (curl, Python), so it provides no protection. Limiting factors: exploitation is confined to the first-run window - once legitimate setup is completed the endpoint returns HTTP 400 and rejects further setup - and a deployment that binds the port to localhost or an internal network reduces exposure. The setup call does not require access to a real Okta tenant.

Impact

All available signals align toward high real-world priority for anyone actually running this product. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) describes the worst case: a network-reachable, low-complexity, unauthenticated, no-interaction flaw with full C/I/A impact (9.8 Critical), and the GHSA advisory independently confirms the mechanism matches CWE-306 (missing authentication for a critical function) rather than a subtle memory bug. The vuln.today decision label is act_now, and the advisory contains complete working exploit code (poc.py plus manual curl steps) whose success was confirmed by live-container dynamic reproduction - so publicly available exploit code exists and the barrier to weaponization is essentially zero. The key tempering signal is that this is NOT in CISA KEV and no EPSS score was provided, so there is no evidence of active or widespread in-the-wild exploitation; the urgency is driven by trivial exploitability plus a public exploit, not by observed attacks. The other limiting factor is state-dependent: exploitation only works during the first-run window before the legitimate owner completes setup (the is_setup flag gates it), which narrows the opportunity but does not reduce severity when the window is open. Net: for exposed, not-yet-initialized deployments this is a genuine act-now item; for a large population it is moderated by the product's very small deployment footprint and the fact that already-initialized instances are not vulnerable.

Exploit ScenarioDerived

An attacker who can reach a freshly deployed okta-ai-agent instance on its exposed HTTPS port 8001 sends a single unauthenticated POST to /api/auth/setup with attacker-chosen credentials before the legitimate owner finishes initial setup; the server creates the account with UserRole.ADMIN and returns a valid fctr_session JWT cookie. The attacker is now the sole administrator and can read Okta-synced user data, API tokens, and chat history, alter Okta integration credentials, and lock out the owner. A complete working PoC (poc.py and manual curl commands) is published in the GHSA advisory and was confirmed by live dynamic reproduction.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 30, 2026

Unauthenticated first-run administrator takeover in TAKO AI Agent for Okta (pip package okta-ai-agent) v3.0.0-beta: the POST /api/auth/setup endpoint in src/api/routers/auth.py performs no authentication, requires no one-time bootstrap token, and applies no network restriction, so any remote attacker who reaches a freshly deployed instance before the legitimate owner completes setup can create the sole admin account and receive a valid fctr_session JWT cookie. Because the default docker-compose.yml publishes port 8001 on all interfaces and the Dockerfile binds uvicorn to 0.0.0.0, a default deployment reachable from untrusted hosts is exploitable with a single HTTP request and no Okta tenant access; the attacker then controls Okta-synced user data, stored API tokens, chat history, and integration credentials. A public advisory includes full reproduction artifacts and working step-by-step exploit instructions (publicly available exploit code exists), and the release fixing the issue is v3.0.1-beta, which introduces an ephemeral in-memory setup token and binds the published port to 127.0.0.1 by default. Exploitation is limited to the first-run window: once setup is completed the endpoint returns HTTP 400, and deployments bound to localhost or an internal interface reduce exposure.

RemediationAI

Upgrade to v3.0.1-beta, which requires a setup token: an in-memory, per-process token is generated with secrets.token_urlsafe, printed once to the container log at startup, compared in constant time, and cleared after setup completes. If upgrading immediately is not possible, do not leave a fresh instance reachable before setup: complete the first-run setup before exposing the service, and change the compose port mapping from "8001:8001" to "127.0.0.1:8001:8001" or front the listener with a firewall/allowlist or authenticated reverse proxy so untrusted clients cannot reach /api/auth/setup; note that the built-in localhost CORS rule does not protect against non-browser HTTP clients, so it is not a valid mitigation on its own, and binding to localhost limits remote access for all consumers of the UI. Upgrading the compose file also pulls image fctrid/ai-agent-for-okta:3.0.1-alpha in the commit diff, so verify the deployed tag matches the fixed release. Anyone who ran an exposed pre-setup instance should treat it as compromised: rotate Okta API tokens and integration credentials, review and recreate admin users, and inspect chat history and configuration for tampering. Advisory: https://github.com/fctr-id/okta-ai-agent/security/advisories/GHSA-536w-42p8-3qv9.

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

The affected component is a FastAPI application (src/api/main.py) exposing an authentication router mounted without a global authentication guard; the initial_setup handler at src/api/routers/auth.py:117 takes only a database session dependency, checks the single is_setup completion flag, then calls create_auth_user with UserRole.ADMIN and set_auth_cookie, issuing a session cookie immediately. This is CWE-306, Missing Authentication for Critical Function: a security-critical bootstrap operation is gated only on state (whether setup has run) rather than on proof of authorization such as a bootstrap secret or local-only access. The deployment chain amplifies the flaw: docker-compose.yml publishes 8001:8001 on all interfaces, the Dockerfile starts uvicorn with --host 0.0.0.0 --port 8001, and the CORS middleware restricted to localhost/127.0.0.1 is enforced by browsers only, so curl or Python HTTP clients bypass it entirely. The setup path never contacts the Okta API, so fake OKTA_CLIENT_ORGURL and OKTA_API_TOKEN values are sufficient to reproduce. The upstream fix commit 3b5ccaff adds a per-process ephemeral setup token generated with secrets.token_urlsafe, printed once to the container log and compared with hmac.compare_digest (403 on mismatch), clears the token after setup, changes the compose port mapping to 127.0.0.1:8001:8001, and additionally drops root privileges in the Dockerfile via a dedicated tako user.

Know when Docker 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 (GitHub_M) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 9.8 CRITICAL

Single unauthenticated network request against a default-exposed setup endpoint with no auth or token (AV:N/AC:L/PR:N/UI:N); admin takeover yields full confidentiality, integrity, and availability loss.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

TAKO AI Agent for Okta is a local-first AI agent that helps Okta administrators query tenant data using natural language. Prior to 3.0.1-beta, POST /api/auth/setup in src/api/routers/auth.py allows an unauthenticated network attacker to create the first administrator account before the legitimate owner completes initial setup. The initial_setup function checks only the is_setup completion flag and requires no authentication, one-time bootstrap token, or network restriction. The default docker-compose.yml publishes port 8001 on all interfaces, the Dockerfile starts the listener on 0.0.0.0, and src/api/main.py mounts the authentication router without a global authentication guard. The endpoint invokes create_auth_user with UserRole.ADMIN and set_auth_cookie, issuing a valid fctr_session JWT cookie. Localhost-only CORS rules do not restrict non-browser HTTP clients, and the setup operation does not require access to a real Okta tenant. The attacker becomes the sole administrator and prevents legitimate first-run setup, can read Okta-synced user data, API tokens, chat history, and application configuration, modify users and Okta integration credentials, and lock out administrators or disable the service. Already completed setup is rejected. This issue is fixed in version 3.0.1-beta.

Technical POC Analysis

This 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

Why It Matters

CVE-2026-63377 is a critical unauthenticated first-run administrator takeover vulnerability in TAKO AI Agent for Okta (okta-ai-agent) v3.0.0-beta. Any remote attacker who reaches a freshly deployed instance before the legitimate owner completes setup can create the sole admin account and gain full control over Okta-synced user data, API tokens, chat history, and integration credentials. This puts sensitive identity and integration data at risk and requires immediate leadership attention to prevent unauthorized access.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Rare
early-beta niche open-source Okta tool, minimal production footprint
Social Media
4
Sightings
Data Quality
3 sources
Confidence: Low

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
CRITICAL severity
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Very High

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
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.

Affected Products (CPE)CVE.org

cpe:2.3:a:fctr-id:okta-ai-agent:*:*:*:*:*:*:*:*

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2025-14707 HIGH POC
8.9 Dec 15

Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

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