Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network-reachable unauthenticated RCE in the vulnerable config (PR:N), but requireLogin=false or bootstrap-window precondition raises AC:H; container code exec escapes the app trust boundary (S:C) with full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
6DescriptionCVE.org
OmniRoute is an open-source AI gateway providing a single endpoint for multiple model providers. In 3.8.49 and earlier, the OmniRoute POST /api/acp/agents custom ACP agent endpoint accepted attacker-controlled binary and versionCommand values and used only a self-consistency check before execFileSync executed the selected interpreter and arguments. The same request called refreshAgentCache, and resolveVersionProbe accepted the matched command before the execFileSync sink ran it. The tokenizeVersionCommand function and DISALLOWED_VERSION_COMMAND_CHARS filter rejected a limited set of shell metacharacters but still allowed interpreter evaluation arguments. The isAuthenticated function relied on isAuthRequired, which accepted anonymous requests when requireLogin was false, while api/acp/ was absent from LOCAL_ONLY_API_PREFIXES and SPAWN_CAPABLE_PREFIXES. With requireLogin=false or during a fresh-instance bootstrap window, a remote anonymous request could supply an interpreter evaluation argument and execute arbitrary code in the server container. With requireLogin=true and a configured management password, exploitation instead required a management session or management-scoped API key. No fixed version is available as of this review.
AnalysisAI
Remote code execution in OmniRoute AI gateway 3.8.49 and earlier lets attackers run arbitrary commands in the server container via the POST /api/acp/agents custom ACP agent endpoint. The endpoint accepts attacker-controlled 'binary' and 'versionCommand' values and passes them to execFileSync after only a self-consistency (binary-match) check, so a matching interpreter carrying an eval-style argument (e.g. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires the OmniRoute /api/acp/agents endpoint to be network-reachable AND one of: requireLogin=false (anonymous access accepted by isAuthRequired), or a fresh-instance bootstrap window before a management password is configured. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | This is a genuine high-priority issue in the exposed configuration: the CVSS 4.0 base score is 9.5 with AV:N/AC:L/PR:N/UI:N and full VC/VI/VA plus subsequent-system impact, reflecting network-reachable, unauthenticated code execution. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | No vendor-released patched version is available as of this review; the upstream fix exists only as PR #11028 / commit 60829241 (an untrusted-probe argument allowlist), so track the OmniRoute repository for a tagged release incorporating it and upgrade as soon as one ships. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours: Identify all OmniRoute AI gateway instances running 3.8.49 or earlier and map their network exposure, data access scope, and user population. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-75705
GHSA-hf57-cqmx-p4gr