ouroboros-ai: Incomplete fix of CVE-2026-47211: untrusted project .env can still reach RCE via omitted execution-routing keys
Impact
The CVE-2026-47211 fix (0.39.0) added _UNTRUSTED_ENV_DENYLIST to stop an untrusted project-directory .env from redirecting execution. The denylist was incomplete — several execution-routing keys of the same RCE class were omitted, so a malicious cloned repo can still reach arbitrary command execution by shipping a .env (auto-loaded at import, no review step):
- Backend config-home roots
CODEX_HOME,OPENCODE_CONFIG,OPENCODE_CONFIG_DIR,XDG_CONFIG_HOME: a spawned vendor CLI resolves its config from these.CODEX_HOME=./.evil+ committed./.evil/config.tomlredirects the nested Codex agent to attacker config —mcp_servers.<name>.command/args(RCE) andapproval_policy="never"/sandbox_mode="danger-full-access"(silent removal of the human approval gate). (reported by matte1782) - MCP bridge / plugin execution roster
OUROBOROS_MCP_CONFIG(the YAML's servercommand/argsare spawned via stdio_client — RCE),OUROBOROS_PLUGIN_LOCKFILE,OUROBOROS_PLUGIN_TRUST_ROOT(redirect the installed-plugin roster / trust root soooo <name>dispatches into attacker code). (reported by hackkim) - SSRF guard toggle
OUROBOROS_ALLOW_LOCAL_TRANSPORT(re-enables loopback/private MCP transport targets). - Instruction / capability roots
OUROBOROS_AGENTS_DIR,COPILOT_CUSTOM_INSTRUCTIONS_DIRS(replace spawned sub-agent role prompts),OUROBOROS_RUNTIME_PROFILE(backend selector),OUROBOROS_TOOL_CAPABILITIES(override YAML can lower a tool'sapproval_class, weakening the approval gate).
Additionally, the MCP bridge auto-loaded ./.ouroboros/mcp_servers.yaml from the working directory (create_bridge_from_env(cwd=Path.cwd())), so running ooo inside a malicious repo spawned the committed roster's command — RCE with no .env at all. (cwd-branch noted by hackkim)
Patches
Fixed in 0.42.1. All listed keys were added to _UNTRUSTED_ENV_DENYLIST; the cwd auto-discovery branch was removed (only the explicit OUROBOROS_MCP_CONFIG env var and ~/.ouroboros/mcp_servers.yaml remain, both trusted). The regression suite now derives from the source denylist to prevent future drift.
Workarounds
Do not run Ouroboros from an untrusted/cloned repository directory; remove any project-directory .env and ./.ouroboros/mcp_servers.yaml before running.
Credit
Reported privately via coordinated disclosure by matte1782 and hackkim (https://github.com/hackkim).
Betroffene Software
Klicken Sie auf eine Technologie, um alle zugehörigen Schwachstellen anzuzeigen.
| Plattform | Paket | Anfällige Versionen | Behoben in |
|---|---|---|---|
| Python (PyPI) | ouroboros-ai | < 0.42.1 | 0.42.1 |
Verweise
- CVSS-Vektor
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N- Schwäche (CWE)
CWE-15, CWE-94- Plattform
- Python (PyPI)
- Paket
ouroboros-ai- Veröffentlicht
- 19.06.2026
- Aktualisiert
- 11.10.2026 15:17
Quellen und Lizenzen
OSV / GitHub Advisory Database - GHSA-jv2h-4p9v-wf5w - CC BY 4.0
Schwachstellenhistorie: ouroboros-ai
Alle veröffentlichten Schwachstellen dieses Pakets (Python (PyPI)), neueste zuerst. Zeigt, ob es ein einmaliger Ausrutscher ist oder ein Paket, das man im Auge behalten muss.
- Einträge insgesamt
- 2
- Erste → letzte
- 05.2026 06.2026
- Ohne Fix
- 0
- In Angriffen ausgenutzt
- 0
Verteilung nach Schweregrad
- Hoch 2
Veröffentlichungen pro Jahr
- 2026: 2
-
ouroboros-ai: Incomplete fix of CVE-2026-47211: untrusted project .env can still reach RCE via omitted execution-routing keys dieser Eintrag
Erkennen Sie Schwachstellen in Ihrer Anwendung
Mit der DockRay-Integration und aktivierter Softwareinventarisierung prüft DockRay gemeldete Komponentenversionen auf bekannte Schwachstellen und benachrichtigt Sie über bestätigte Treffer. Die Abdeckung hängt von der unterstützten Technologie und den verfügbaren Meldungen ab.