Unauthenticated Remote Code Execution in OmniRoute ACP
OmniRoute contains a critical remote code execution vulnerability (CVE-2026-88062) in the /api/acp/agents endpoint, allowing anonymous attackers to execute arbitrary code when requireLogin is disabled.
CVE search metadata
CVE search record: CVE-2026-88062. KEV: no. Product: OmniRoute (<= 3.8.50). Brief: Unauthenticated Remote Code Execution in OmniRoute ACP. Brief link: https://feed.craftedsignal.io/briefs/2026-09-omniroute-rce/
OmniRoute version 3.8.50 and earlier are affected by a critical remote code execution (RCE) vulnerability (CVE-2026-88062) within the /api/acp/agents endpoint. The vulnerability exists because the application accepts user-controlled binary and versionCommand parameters to register custom ACP agents. The application fails to properly validate the versionCommand argument, allowing an attacker to inject arbitrary JavaScript code that is executed by the server via child_process.execFileSync during a version probe.
This endpoint is reachable by anonymous users if the instance has requireLogin=false or during the initial bootstrap phase before a management password is set. Because the endpoint lacks necessary restrictions defined in the LOCAL_ONLY_API_PREFIXES or SPAWN_CAPABLE_PREFIXES policies, the request bypasses authorization checks. An attacker can use this vulnerability to achieve full command execution within the context of the OmniRoute server container.
Attack Chain
- Attacker identifies a target OmniRoute instance where
requireLoginis set tofalse, or targets a new instance during its initial setup window. - Attacker sends an unauthenticated
POSTrequest to the/api/acp/agentsendpoint. - The request body contains malicious
binary(e.g., "node") andversionCommandfields, where the latter includes an-eargument followed by arbitrary JavaScript code. - The OmniRoute application saves the agent definition without verifying the safety of the
versionCommandcontent beyond a simple token consistency check. - The application automatically triggers
refreshAgentCache(), which invokesdetectInstalledAgents()to probe the new agent. - The
detectAgent()function callsexecFileSyncto execute the attacker-providedversionCommandstring. - The Node.js process executes the injected JavaScript, allowing the attacker to interact with the underlying OS via
child_process.execSync().
Impact
Successful exploitation allows for unauthenticated remote code execution within the OmniRoute server container. This grants an attacker the ability to execute system commands, access environment variables, manipulate local data files (such as database backups or configuration files), and potentially move laterally within the containerized environment. This vulnerability affects all OmniRoute instances running versions 3.8.50 and earlier.
Recommendation
Prioritized actions for detection and remediation:
- Immediately upgrade all OmniRoute instances to a version later than 3.8.50.
- Enable
requireLogin=trueand enforce strong management authentication to prevent unauthenticated access to administrative API endpoints. - Deploy the Sigma rules below to monitor for unauthorized requests to the ACP agent registration endpoint.
- Monitor webserver logs for
POSTrequests to/api/acp/agentsoriginating from external or untrusted network segments.
Immediate actions
Upgrade all OmniRoute instances to a version beyond 3.8.50
Configure requireLogin=true on all exposed OmniRoute instances
Threat Hunt
Search logs for POST requests to /api/acp/agents originating from non-authorized internal IPs
Data: webserver_access_logs
Detection coverage 1
Detect CVE-2026-88062 Exploitation - Unauthenticated ACP Agent Registration
criticalDetects exploitation of CVE-2026-88062 via suspicious POST requests to the ACP agent registration endpoint
Detection queries are available on the platform. Get full rules →