GHSA-jxrq-8fm4-9p58
GHSA-jxrq-8fm4-9p58 · OpenClaw: Zip extraction symlink traversal could write outside destination
This page contains facts from public vulnerability sources. Check the original advisory before updating.
### Summary A path confinement bypass in OpenClaw ZIP extraction allowed writes outside the intended destination when a pre-existing symlink was present under the extraction root. ### Affected Packages / Versions - Package: `openclaw` (npm) - Latest published npm version at triage time: `2026.2.21-2` - Affected versions: `<= 2026.2.21-2` - Planned patched version for next release: `2026.2.22` ### Technical Details The vulnerable path was in `src/infra/archive.ts` ZIP extraction logic. Output-path checks were lexical, but writes could still traverse an existing symlink in destination path segments. The fix blocks this by: - rejecting symlink traversal in destination path segments, - validating resolved destination paths remain inside the extraction root, - using no-follow file opens for ZIP output writes where supported, - adding a regression test for pre-seeded destination symlink traversal. ### Impact - Type: Arbitrary file write outside extraction root via symlink traversal during ZIP extraction. - Preconditions: attacker-controlled archive extraction plus pre-existing symlink in destination path. ### Fix Commit(s) - 4b226b74f5fd3b106a83a6347fd404172e2fd246 ### Release Process Note Patched version is pre-set to the planned next release (`2026.2.22`). Once npm release `2026.2.22` is published, the advisory can be published without further field edits. OpenClaw thanks @tdjackey for reporting.
CVSS 7.1 · High · Fix available
- Published
- Updated
Stack: node
Affected products and versions
openclaw npm
- Affected ranges
- SEMVER: < 2026.2.22
Update to 2026.2.22