OpenClaw versions before 2026.2.14 did not sufficiently validate TAR archive entry paths during extraction. A crafted archive could use path traversal sequences (for example ../../...) to write files outside the intended destination directory (Zip Slip).
openclaw (npm)< 2026.2.14>= 2026.2.14The affected code path is extractArchive() in src/infra/archive.ts. Prior to 2026.2.14, TAR extraction used tar.x({ cwd: destDir }) without rejecting traversal and absolute entry paths.
This extraction is used by installation flows such as:
- openclaw plugins install …
- openclaw hooks install …
If a user installs an untrusted .tar / .tgz archive, an attacker can write files outside the extraction directory (within the permissions of the OpenClaw process). This can lead to configuration tampering and potentially code execution.
Upgrade to openclaw >= 2026.2.14. Avoid installing untrusted plugin/hook archives.
3aa94afcfd12104c683c9cad81faf434d0dadf87OpenClaw thanks @xuemian168 for reporting.
{
"nvd_published_at": "2026-03-05T22:16:17Z",
"severity": "HIGH",
"github_reviewed_at": "2026-03-02T22:40:57Z",
"cwe_ids": [
"CWE-22"
],
"github_reviewed": true
}