Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Omnigent server
-
DeliveryCraft agent bundle with absolute or traversal os_env.cwd
-
ExploitUpload bundle to runner with unset OMNIGENT_RUNNER_WORKSPACE
-
ExecutionRunner resolves attacker path as workspace root
-
PersistAgent tools operate outside intended workspace
-
ImpactExfiltrate runner secrets and host files
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concurrent conditions: (1) the attacker holds an authenticated session with bundle-upload permissions on the Omnigent server (CVSS PR:L - this is not unauthenticated exploitation); (2) the target runner has OMNIGENT_RUNNER_WORKSPACE unset in its environment - when this variable is present, resource_registry.py does not preserve the attacker-controlled path and the vulnerability does not reach the filesystem; (3) the server operates with enforce_handler_allowlist=True, which is the default for untrusted multi-user deployments (local/single-user operators with enforce_handler_allowlist=False are explicitly excluded from the new validation by design). Limiting factors: requires valid credentials, requires a specific runner misconfiguration (unset env var), and affects only Omnigent versions prior to 0.3.0. |
| Impact | The CVSS 3.1 score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects the broad impact - full confidentiality, integrity, and availability - achievable via a network-reachable upload endpoint requiring only authenticated access. However, the raw CVSS does not capture the critical deployment precondition: exploitation only fully materializes when OMNIGENT_RUNNER_WORKSPACE is unset on the runner. Where that variable is set, resource_registry.py does not propagate the attacker-controlled path and the impact is substantially contained. No EPSS score was provided in the input data, preventing quantitative exploitation probability assessment. KEV status is absent - no confirmed active exploitation. No public proof-of-concept is identified. The vulnerability is a logic flaw rather than a memory corruption issue, which generally implies reliable exploitability once conditions are met, but the two-factor requirement (authenticated session + unset env var) meaningfully reduces the realistic attack surface compared to the CVSS impression. Organizations running Omnigent in multi-user or cloud-runner deployments with untrusted authenticated users and without OMNIGENT_RUNNER_WORKSPACE set should treat this as high priority. |
| Exploit ScenarioDerived | An authenticated Omnigent user crafts a valid agent bundle with the os_env.cwd field set to an absolute path such as /etc or a traversal path such as ../../etc and uploads it to a runner where OMNIGENT_RUNNER_WORKSPACE is unset. The framework accepts and stores the path verbatim, resolves it as the agent workspace root, and the agent's sys_os_read, write, edit, and shell tools then operate against the host filesystem, allowing the attacker to exfiltrate environment secrets or runner credentials. No public proof-of-concept has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 21, 2026
Path traversal in Omnigent AI agent framework (versions prior to 0.3.0) allows authenticated users to escape the session workspace by uploading a crafted agent bundle with an absolute or traversal-containing os_env.cwd value, exposing host filesystem contents and runner environment secrets. The vulnerability chain spans four source files - parser.py, validator.py, resource_registry.py, and os_env.py - and the security boundary collapses specifically when OMNIGENT_RUNNER_WORKSPACE is unset on the runner. No public exploit or active exploitation (CISA KEV) has been identified at time of analysis; a vendor-confirmed fix was released in v0.3.0.
RemediationAI
Upgrade to Omnigent v0.3.0, available at https://github.com/omnigent-ai/omnigent/releases/tag/v0.3.0; this release introduces os_env.cwd validation in bundles.py (PR #1417, commit 7ca0cca3c9a65c04c489edf68f0e080424a26868) that rejects absolute paths and path segments containing '..' for untrusted bundle uploads. For environments that cannot immediately upgrade, set the OMNIGENT_RUNNER_WORKSPACE environment variable on all runners - this causes resource_registry.py to ignore the attacker-supplied cwd, preventing the path from becoming the environment root; note this is a mitigation that contains the impact but does not remove the validation gap. Additionally, restrict bundle upload access to trusted operator accounts by reviewing the enforce_handler_allowlist configuration, which also gates the new cwd containment check; this limits exposure to fully trusted users who legitimately require absolute-cwd functionality per SESSION_WORKSPACE_SELECTION.md design documentation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Omnigent is a Python-based open-source meta-harness for orchestrating coding agents (CPE: cpe:2.3:a:omnigent-ai:omnigent:*:*:*:*:*:*:*:*). The vulnerability is a CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) arising from a trust-boundary gap across the bundle-processing pipeline. When an untrusted user uploads an agent bundle, omnigent/spec/parser.py stores the os_env.cwd field verbatim and omnigent/spec/validator.py applies no path-containment constraints. If the runner lacks the OMNIGENT_RUNNER_WORKSPACE environment variable, omnigent/runner/resource_registry.py preserves the attacker-supplied path unchanged, and omnigent/inner/os_env.py uses it as both the environment root and the copytree source. The _assert_within_cwd guard, which is intended to restrict agent tool access (sys_os_read, write, edit, shell), then trusts this attacker-selected directory as the workspace root, rendering it ineffective. The fix in PR #1417 adds a _cwd_escapes_workspace() helper in bundles.py that checks both POSIX and Windows path forms to prevent separator-style bypasses, and gates the check on the enforce_handler_allowlist trust signal, preserving legitimate absolute-cwd behavior for trusted local/single-user operators.
Know when Omnigent 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network upload endpoint with authenticated access (PR:L); OMNIGENT_RUNNER_WORKSPACE condition is a common omission in default deploys, supporting AC:L; shell tool access yields full C/I/A against the runner.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Executive ViewAI
The Omnigent AI agent framework versions prior to 0.3.0 contain a path traversal vulnerability that allows authenticated users to bypass workspace isolation and access sensitive host filesystem and environment secrets. This creates a credential exposure and insider threat risk, particularly for organizations with multiple teams using shared framework deployments. Immediate patching to version 0.3.0 is required to restore proper isolation controls.
Apply vendor patch to version 0.3.0 or later. Prior to patching, set the OMNIGENT_RUNNER_WORKSPACE environment variable on all runners to establish interim workspace isolation boundaries.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote code execution in Omnigent, an open-source AI agent framework and meta-harness, before version 0.3.0 allows an au
Remote code execution in Omnigent's multi-tenant runner allows any authenticated user to hijack the runner process by up
Shell-command parser bypass in Omnigent's policy layer allows an authenticated or prompt-injected agent to push code to
EUVD-2026-64015
GHSA-p8rw-8qj3-hf33
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB