GHSA-7ff8-xjh3-mgh6 — openclaw
Fix: openclaw/openclaw@ffd63b7GHSA-7ff8-xjh3-mgh6 is a security vulnerability in openclaw. A fix is available for openclaw — see the affected versions and patch details below.
OpenClaw's non-default autoAllowSkills setting could bypass on-miss exec prompt
Real-World Exposure
How broadly this vulnerability is actually deployed: weekly install volume shows current usage, and reverse-dependency count shows how many other packages break if it stays unpatched.
openclawnpmDescription
Summary
In openclaw versions up to and including 2026.2.22-2, a non-default exec-approval configuration could allow a skill-name collision to bypass an ask=on-miss prompt.
When autoAllowSkills=true, a path-scoped executable such as ./skill-bin could resolve to basename skill-bin, satisfy the skills allowlist segment, and run without prompting for approval.
Affected Packages / Versions
- Package:
npm openclaw - Affected versions:
<= 2026.2.22-2 - Patched versions:
>= 2026.2.23(released)
Configuration Scope (Not Default)
This behavior requires non-default settings and does not affect default installs.
Required conditions:
autoAllowSkills=true(default isfalse)system.runwithsecurity=allowlistask=on-miss
Technical Details
The allowlist evaluator accepted skills satisfaction by bin-name match, so ./skill-bin could match skillBins.has("skill-bin") after resolution.
The fix hardens skill auto-allow matching by requiring:
- a pathless invocation token (no
/or\\), and - a trusted resolved executable path for that skill bin on the machine where skills run.
This preserves normal skill-bin ... behavior while preventing ./<skill-bin> and absolute-path basename collisions from auto-satisfying skills.
Impact
In affected non-default configurations, approval prompts could be skipped for commands that should have required operator confirmation.
Fix Commit(s)
ffd63b7a2c4c6d5aeb4710ef951d5794ad7ad77b(fix(security): trust resolved skill-bin paths in allowlist auto-allow)
OpenClaw thanks @tdjackey for reporting.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 📦npm | openclaw | all versions | 2026.2.23npm install openclaw@2026.2.23 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for openclaw, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update openclaw to 2026.2.23 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-7ff8-xjh3-mgh6 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-7ff8-xjh3-mgh6 can be triaged on real exposure rather than presence alone.
Tailored to GHSA-7ff8-xjh3-mgh6. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-7ff8-xjh3-mgh6 in your dependencies?
O3 Security finds GHSA-7ff8-xjh3-mgh6 across npm dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.