Skip to content
Fencer Intel
high —

GHSA-7ff8-xjh3-mgh6 json

OpenClaw's non-default autoAllowSkills setting could bypass on-miss exec prompt

published 8mo ago modified 8mo ago

cvss
—
not scored
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

### 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 is `false`) - `system.run` with `security=allowlist` - `ask=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.

Patch / fix

  • npm openclaw 2026.2.23

Is GHSA-7ff8-xjh3-mgh6 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Affected packages

ecosystem package affected fixed in
npm openclaw
<2026.2.23
2026.2.23

Classification

Weakness
  • CWE-266 Incorrect Privilege Assignment
  • CWE-863 Incorrect Authorization

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

The maintainers of openclaw/openclaw published their own advisory on GitHub. Reviewed sources take precedence over it.