जमा करें #1031850: https://github.com/OpenHands OpenHands 1.20.0 Local Sensitive Logic Exposure leading to Remote Code Executionजानकारी

शीर्षकhttps://github.com/OpenHands OpenHands 1.20.0 Local Sensitive Logic Exposure leading to Remote Code Execution
विवरणThe OpenHands Agent Canvas desktop client (Electron) launches four local services at startup: the ingress reverse proxy (default port 8000), the static frontend server (port 3001), the Agent Server (127.0.0.1:18000, loopback only) and the Automation backend (127.0.0.1:18001, loopback only). On the default startup path, the client bakes the 32-byte Session API Key in plaintext into the landing page HTML — as window.__AGENT_CANVAS_SESSION_API_KEY__ — so that the user "never has to paste it". That landing page is served with no authentication whatsoever, and both services hosting it bind to all network interfaces (::, functionally equivalent to x.x.x.x). The disclosed key is not a low-privilege token: it is identical to the Agent Server's OH_SESSION_API_KEYS_0, i.e. it carries the full Agent Server API surface, command execution included. It is additionally reused as the Automation administrator key (AUTOMATION_LOCAL_API_KEY) and the KV-store encryption key (AUTOMATION_KV_SECRET) — a master key for the whole local service stack. The affected behavior includes: Any LAN host can steal the Session API Key with a single unauthenticated GET http://<victim>:8000/ — and also directly via :3001, bypassing the ingress entirely. Any LAN host can execute arbitrary commands on the victim's machine (POST /api/bash/execute_bash_command) — remote code execution with the privileges of the logged-in user. Any LAN host can read arbitrary absolute file paths, including sensitive files under the user's home directory (GET /api/file/...). Any LAN host can read the global configuration (GET /api/settings). Any LAN host can read stored LLM / third-party service credentials in plaintext (GET /api/settings/secrets/{name}). Any LAN host can list and read all conversation history (GET /api/conversations). Control experiment: the same command-execution endpoint returns HTTP 401 when the key is not supplied. The authentication mechanism itself is sound — the only defect is that the credential is published, unauthenticated, inside the landing page HTML. The "this is intended behaviour" defence therefore does not apply. The whole chain was reproduced end-to-end against the real Electron desktop client (see Section 4). CVSS 3.1: 8.8 (High) — AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
स्रोत⚠️ https://github.com/OpenHands/OpenHands/issues/17878
उपयोगकर्ता
 PoriaMs (UID 101188)
सबमिशन14/10/2026 04:04 AM (23 दिन पहले)
संयम04/11/2026 09:53 PM (22 days later)
स्थितिस्वीकृत
VulDB प्रविष्टि431199 [OpenHands तक 1.24.0 Landing Page कमजोर प्रमाणीकरण]
अंक20

Interested in the pricing of exploits?

See the underground prices here!