CVE-2026-62677
HighCVSS 8.8Exploitation Probability (EPSS)
Low risk37th percentile - higher than 37% of all known CVEs
Summary
Omnigent before version 0.3.0 allows an authenticated user to upload a session-scoped agent bundle with an absolute or traversal-containing os_env.cwd value because the parser stores the value verbatim and the validator does not constrain it. When OMNIGENT_RUNNER_WORKSPACE is unset, an attacker can control the path and gain access to runner files and environment secrets outside the intended workspace.
Risk Assessment
An attacker can use sys_os_read, write, edit, and shell tools to read and write runner files and access environment secrets, potentially leading to data leakage or privilege escalation.
Recommendation
Upgrade Omnigent to version 0.3.0 or later, which includes the fix.
Other vulnerabilities in Omnigent
See all- CVE-2026-62674Critical
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, PUT /sessions/{session_id}/agent checks LEVEL_EDIT permission for a session but does not reject a bound shared or template agent whose agent.session_id is None. An authenticated user with edit access to a session can replace that shared agent bundle through omnigent/server/routes/sessions.py, add a stdio MCP server, and cause later sessions that use the shared agent to launch an attacker-controlled command through omnigent/tools/mcp.py. The command executes with the Omnigent runner process permissions and can expose files, credentials, workspace data, internal services, and runner availability. This issue is fixed in version 0.3.0.
- CVE-2026-62676High
Omnigent before version 0.3.0 has a shared shell-command parser that fails to recognize combined interpreter flags, timeout, nice, setsid, and stdbuf wrappers, command substitutions, and a single background control operator. Commands hidden with these forms produce no parsed operation, causing allowlist and workspace confinement policies to abstain and allow the command.
- CVE-2026-62675High
Omnigent before version 0.3.0 accepts an agent bundle in multipart POST /v1/sessions, and the validator does not reject a dotted Python path in tools..callable. The dispatcher imports the specified module and invokes the function, allowing a bundle to select subprocess.check_output and execute a local command with the runner process permissions.
Original NVD description (English source)
Omnigent is an open-source AI agent framework and meta-harness for orchestrating coding agents. Prior to 0.3.0, an authenticated user can upload a session-scoped agent bundle with an absolute or traversal-containing os_env.cwd value because omnigent/spec/parser.py stores the value verbatim and omnigent/spec/validator.py does not constrain it. On a runner where OMNIGENT_RUNNER_WORKSPACE is unset, omnigent/runner/resource_registry.py preserves the attacker-controlled path and omnigent/inner/os_env.py uses the resolved path as the environment root and copytree source. The _assert_within_cwd check then treats that attacker-selected root as trusted, allowing sys_os_read, write, edit, and shell tools to access runner files and environment secrets outside the intended workspace. This issue is fixed in version 0.3.0.

