Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/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
Lifecycle Timeline
5Blast Radius
ecosystem impact- 1 npm packages depend on openclaw (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 2026.4.23.
DescriptionCVE.org
OpenClaw before 2026.4.23 contains an arbitrary code execution vulnerability in the bundled plugin setup resolver that loads setup-api.js from process.cwd() during provider setup metadata resolution. Attackers can execute arbitrary JavaScript under the current user account by placing a malicious extensions/<plugin>/setup-api.js file in a repository and convincing a user to run OpenClaw commands from that directory.
AnalysisAI
Arbitrary code execution in OpenClaw via CWD-based setup-api.js injection allows local attackers to run malicious JavaScript when users execute OpenClaw commands from attacker-controlled directories. Affects all OpenClaw versions before 2026.4.23. Vendor-released patch available in version 2026.4.23. Exploitation requires user interaction (running OpenClaw commands from a malicious repository) but no authentication. CVSS 7.8 reflects local attack vector with user interaction requirement, mitigating remote exploitation risk.
Technical ContextAI
This vulnerability stems from CWE-427 (Uncontrolled Search Path Element), where OpenClaw's plugin setup resolver incorrectly trusted process.cwd() as a search path for bundled setup-api.js modules during provider setup metadata resolution. When resolving provider configuration, the application would search for extensions/<plugin>/setup-api.js in multiple locations including the current working directory. Node.js module resolution combined with process.cwd() creates a DLL-hijacking-style attack where an attacker-controlled file takes precedence over legitimate bundled modules. The fix removes process.cwd() from the repoRootCandidates array, restricting setup-api resolution to only the canonical package root (CURRENT_MODULE_PATH ancestor), and adds regression testing to verify workspace-local setup-api.js files are ignored. This is a classic untrusted search path vulnerability affecting JavaScript/Node.js applications that dynamically load code based on runtime working directory.
RemediationAI
Upgrade to OpenClaw version 2026.4.23 or later, which removes process.cwd() from the setup-api search path and restricts module resolution to the canonical package root. The fix is available via npm (npm install openclaw@2026.4.23 or npm update openclaw) and documented in GitHub commit 993781e6e6eaf50f033cfc3e3bf4f47059740707 (https://github.com/openclaw/openclaw/commit/993781e6e6eaf50f033cfc3e3bf4f47059740707). If immediate patching is not possible, implement compensating controls: restrict OpenClaw execution to trusted directories only, use read-only mounts or filesystem permissions to prevent users from writing to directories where OpenClaw will be executed, and run OpenClaw in isolated containers or VMs when processing untrusted repositories. These workarounds reduce attack surface but introduce operational overhead (restricted developer workflows, container management complexity) and do not fully eliminate risk if users can still influence the working directory. Full vendor advisory at https://github.com/openclaw/openclaw/security/advisories/GHSA-r39h-4c2p-3jxp and VulnCheck analysis at https://www.vulncheck.com/advisories/openclaw-arbitrary-code-execution-via-setup-api-js-in-current-working-directory.
Auth bypass in OpenClaw voice-call extension before 2026.2.1. EPSS 0.68%. PoC and patch available.
Privilege escalation in OpenClaw (pre-2026.3.28) allows unauthenticated remote attackers to gain administrative access b
OpenClaw versions 2026.2.22 through 2026.2.24 contain a privilege escalation vulnerability that allows authenticated att
An authorization mismatch vulnerability in OpenClaw versions prior to 2026.3.1 allows authenticated users with operator.
OpenClaw versions prior to 2026.1.29 automatically establish WebSocket connections to attacker-controlled gateway URLs e
Path traversal in OpenClaw through version 2026.3.23 enables unauthenticated remote attackers to read arbitrary files in
OpenClaw sandbox browser functionality launches x11vnc for noVNC observer sessions without requiring authentication, all
OpenClaw versions before 2026.2.26 allow authenticated attackers to write arbitrary files outside the workspace director
OpenClaw versions prior to 2026.2.22 contain a shell environment variable injection vulnerability in the system.run func
OpenClaw versions prior to 2026.2.22 contain a resource exhaustion vulnerability where the application fails to consiste
OpenClaw versions prior to 2026.3.1 contain a sandbox escape vulnerability that allows authenticated attackers with low
OpenClaw versions 2026.1.30 and below fail to validate Telegram webhook secret tokens when `channels.telegram.webhookSec
Same weakness CWE-427 – Uncontrolled Search Path Element
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-29149
GHSA-xpr6-2hgm-4wwp