CVE-2026-27485
📋 TL;DR
OpenClaw versions 2026.2.17 and below have a symlink vulnerability in the skill packaging script that allows local file inclusion when building .skill archives. This affects developers who package skills using the vulnerable script on systems with attacker-controlled skill directories. The vulnerability can lead to unintentional disclosure of local files from the packaging machine.
💻 Affected Systems
- OpenClaw
📦 What is this software?
Openclaw by Openclaw
⚠️ Risk & Real-World Impact
Worst Case
Sensitive local files (configuration files, credentials, private keys) from the packaging machine are included in generated .skill archives and potentially distributed to untrusted parties.
Likely Case
Accidental inclusion of non-sensitive local files in skill packages during development workflows.
If Mitigated
No file disclosure occurs due to proper access controls and script execution in isolated environments.
🎯 Exploit Status
Exploitation requires local access to the packaging machine or social engineering to get developers to package malicious skill directories.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2026.2.18
Vendor Advisory: https://github.com/openclaw/openclaw/security/advisories/GHSA-r6h2-5gqq-v5v6
Restart Required: No
Instructions:
1. Update OpenClaw to version 2026.2.18 or later. 2. Replace any existing vulnerable package_skill.py scripts with the patched version from the repository.
🔧 Temporary Workarounds
Manual symlink checking
linuxManually verify skill directories don't contain symlinks before packaging
find /path/to/skill -type l -ls
Isolated packaging environment
allPackage skills in a clean, isolated directory without symlinks to sensitive locations
🧯 If You Can't Patch
- Only package skills from trusted, verified directories without symlinks
- Run packaging scripts in isolated containers or VMs with limited file system access
🔍 How to Verify
Check if Vulnerable:
Check if package_skill.py follows symlinks by examining the script or testing with a symlink in a skill directory.
Check Version:
Check OpenClaw version or examine the package_skill.py script modification date against the fix commit.
Verify Fix Applied:
Verify the package_skill.py script resolves symlinks properly or rejects them during archive creation.
📡 Detection & Monitoring
Log Indicators:
- Unusual file paths in generated .skill archives
- Packaging script accessing files outside expected skill directories
Network Indicators:
- N/A - Local vulnerability
SIEM Query:
Process execution of package_skill.py with arguments pointing to directories containing symlinks
🔗 References
- https://github.com/openclaw/openclaw/commit/c275932aa4230fb7a8212fe1b9d2a18424874b3f
- https://github.com/openclaw/openclaw/commit/ee1d6427b544ccadd73e02b1630ea5c29ba9a9f0
- https://github.com/openclaw/openclaw/pull/20796
- https://github.com/openclaw/openclaw/releases/tag/v2026.2.19
- https://github.com/openclaw/openclaw/security/advisories/GHSA-r6h2-5gqq-v5v6