Every CVE Search/ Get API key

CVE-2026-63378

TAKO AI Agent for Okta: Authenticated Python execution through validator bypass

8.8 High

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, any authenticated user with a valid fctr_session cookie can submit arbitrary Python source in the script_code field of POST /api/react/execute-script, without administrator privilege. In src/api/routers/react_stream.py, the source is stored with skip_discovery=True, bypassing AI-based content filtering, and is passed to validate_generated_code in src/utils/security_config.py. BLOCKED_PATTERNS recognizes direct __import__ calls but misses the import name passed as a string, getattr is in ALLOWED_BUILTINS, and the AST checker handles ast.Name and ast.Attribute targets but fails to handle ast.Call targets. Dynamic getattr call chains through __builtins__ therefore evade validation. The _write_temp_script helper writes the accepted code to disk, and asyncio.create_subprocess_exec() executes it as the application process user, which is root in the default container. Command output is returned as Server-Sent Events through GET /api/react/stream-react-updates?process_id=<id>. The resulting container compromise can disclose environment secrets including Okta API tokens and the JWT key, expose the SQLite database, and permit backend-service pivoting and persistence. This issue is fixed in version 3.0.1-beta.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.36%Unchanged since Oct 31, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.8

TAKO AI Agent for Okta: Authenticated Python execution through validator bypass

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, any authenticated user with a valid fctr_session cookie can submit arbitrary Python source in the script_code field of POST /api/react/execute-script, without administrator privilege. In src/api/routers/react_stream.py, the source is stored with skip_discovery=True, bypassing AI-based content filtering, and is passed to validate_generated_code in src/utils/security_config.py. BLOCKED_PATTERNS recognizes direct __import__ calls but misses the import name passed as a string, getattr is in ALLOWED_BUILTINS, and the AST checker handles ast.Name and ast.Attribute targets but fails to handle ast.Call targets. Dynamic getattr call chains through __builtins__ therefore evade validation. The _write_temp_script helper writes the accepted code to disk, and asyncio.create_subprocess_exec() executes it as the application process user, which is root in the default container. Command output is returned as Server-Sent Events through GET /api/react/stream-react-updates?process_id=<id>. The resulting container compromise can disclose environment secrets including Okta API tokens and the JWT key, expose the SQLite database, and permit backend-service pivoting and persistence. This issue is fixed in version 3.0.1-beta.

Record
CVE-2026-63378
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-94
Updated
2026-11-02
EUVDEUVD-2026-114542 8.8

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, any authenticated user with a valid fctr_session cookie can submit arbitrary Python source in the script_code field of POST /api/react/execute-script, without administrator privilege. In src/api/routers/react_stream.py, the source is stored with skip_discovery=True, bypassing AI-based content filtering, and is passed to validate_generated_code in src/utils/security_config.py. BLOCKED_PATTERNS recognizes direct __import__ calls but misses the import name passed as a string, getattr is in ALLOWED_BUILTINS, and the AST checker handles ast.Name and ast.Attribute targets but fails to handle ast.Call targets. Dynamic getattr call chains through __builtins__ therefore evade validation. The _write_temp_script helper writes the accepted code to disk, and asyncio.create_subprocess_exec() executes it as the application process user, which is root in the default container. Command output is returned as Server-Sent Events through GET /api/react/stream-react-updates?process_id=<id>. The resulting container compromise can disclose environment secrets including Okta API tokens and the JWT key, expose the SQLite database, and permit backend-service pivoting and persistence. This issue is fixed in version 3.0.1-beta.

Record
EUVD-2026-114542
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-03
NVD 8.8

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, any authenticated user with a valid fctr_session cookie can submit arbitrary Python source in the script_code field of POST /api/react/execute-script, without administrator privilege. In src/api/routers/react_stream.py, the source is stored with skip_discovery=True, bypassing AI-based content filtering, and is passed to validate_generated_code in src/utils/security_config.py. BLOCKED_PATTERNS recognizes direct __import__ calls but misses the import name passed as a string, getattr is in ALLOWED_BUILTINS, and the AST checker handles ast.Name and ast.Attribute targets but fails to handle ast.Call targets. Dynamic getattr call chains through __builtins__ therefore evade validation. The _write_temp_script helper writes the accepted code to disk, and asyncio.create_subprocess_exec() executes it as the application process user, which is root in the default container. Command output is returned as Server-Sent Events through GET /api/react/stream-react-updates?process_id=<id>. The resulting container compromise can disclose environment secrets including Okta API tokens and the JWT key, expose the SQLite database, and permit backend-service pivoting and persistence. This issue is fixed in version 3.0.1-beta.

Record
CVE-2026-63378
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-94
Updated
2026-11-03
OSV 8.8

TAKO AI Agent for Okta: Authenticated Python execution through validator bypass

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, any authenticated user with a valid fctr_session cookie can submit arbitrary Python source in the script_code field of POST /api/react/execute-script, without administrator privilege. In src/api/routers/react_stream.py, the source is stored with skip_discovery=True, bypassing AI-based content filtering, and is passed to validate_generated_code in src/utils/security_config.py. BLOCKED_PATTERNS recognizes direct __import__ calls but misses the import name passed as a string, getattr is in ALLOWED_BUILTINS, and the AST checker handles ast.Name and ast.Attribute targets but fails to handle ast.Call targets. Dynamic getattr call chains through __builtins__ therefore evade validation. The _write_temp_script helper writes the accepted code to disk, and asyncio.create_subprocess_exec() executes it as the application process user, which is root in the default container. Command output is returned as Server-Sent Events through GET /api/react/stream-react-updates?process_id=<id>. The resulting container compromise can disclose environment secrets including Okta API tokens and the JWT key, expose the SQLite database, and permit backend-service pivoting and persistence. This issue is fixed in version 3.0.1-beta.

Record
CVE-2026-63378
CVSS 3.1
8.8 HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-94
Updated
2026-11-04

Affected products

History

History
RecordedChangedSources
factsEUVD, NVD, OSV
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-63378 is a high vulnerability (CVSS 8.8) in Fctr-id Okta-ai-agent, published October 30, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.36%, the 30th percentile. No source names a fixed version.

References

MoveEnter Open