Vulnerability
skills/skill-creator/scripts/packageskill.py (a local helper script used when authors package skills) previously followed symlinks while building .skill archives.
If an author runs this script on a crafted local skill directory containing symlinks to files outside the skill root, the resulting archive can include unintended file contents.
Severity and Exposure
- Severity: Low - Execution context: local/manual workflow only (skill author packaging step) - No remote trigger: this is not reachable via normal OpenClaw gateway/chat runtime paths - No extraction Zip Slip in this finding: this issue is limited to packaging-time symlink following
Impact
- Potential unintentional disclosure of local files from the packaging machine into a generated .skill artifact. - Requires local execution of the packaging script on attacker-controlled skill contents.
Affected Components
- skills/skill-creator/scripts/packageskill.py
Affected Packages / Versions
- Package: openclaw (npm) - Latest published version during triage: 2026.2.17 - Vulnerable version range: <= 2026.2.17 - Planned patched version (next release): 2026.2.18
Remediation
- Reject symlinks during skill packaging. - Add regression tests for symlink file and symlink directory cases. - Update packaging guidance to document the symlink restriction.
Fix Commit(s)
- c275932aa4230fb7a8212fe1b9d2a18424874b3f - ee1d6427b544ccadd73e02b1630ea5c29ba9a9f0
Related PR
- https://github.com/openclaw/openclaw/pull/20796
Release Process Note
patchedversions is pre-set to the planned next release (2026.2.18). Once npm openclaw@2026.2.18 is published, this advisory is ready to publish without additional edits.
Thanks @aether-ai-agent for reporting.
Overview
Discord moderation action handling (timeout, kick, ban) used sender identity from request parameters in tool-driven flows, instead of trusted runtime sender context.
Impact
In setups where Discord moderation actions are enabled and the bot has the necessary guild permissions, a non-admin user could request moderation actions by spoofing sender identity fields.
Affected Packages / Versions
- Package: openclaw (npm) - Latest published affected version (as of 2026-02-19): 2026.2.17 - Affected range: <=2026.2.17 - Fixed in planned next release: 2026.2.18
Fix
- Moderation authorization now uses trusted sender context (requesterSenderId) instead of untrusted action params. - Added permission checks for required guild capabilities per action.
Fix Commit(s)
- 775816035ecc6bb243843f8000c9a58ff609e32d
Thanks @aether-ai-agent for reporting.
Affected Packages / Versions
- openclaw npm package versions <= 2026.2.17.
Vulnerability Cron webhook delivery in src/gateway/server-cron.ts used fetch() directly, so webhook targets could reach private/metadata/internal endpoints without SSRF policy checks.
Fix Commit(s) - 99db4d13e - 35851cdaf
Thanks @Adam55A-code for reporting.
Vulnerability
The ACP bridge accepted very large prompt text blocks and could assemble oversized prompt payloads before forwarding them to chat.send.
Because ACP runs over local stdio, this mainly affects local ACP clients (for example IDE integrations) that send unusually large inputs.
Affected Packages / Versions
- Package: openclaw (npm) - Affected versions: <= 2026.2.17 - Patched version: 2026.2.18 (planned next release)
Impact
- Local ACP sessions may become less responsive when very large prompts are submitted - Larger-than-expected model usage/cost when oversized text is forwarded - No privilege escalation and no direct remote attack path in the default ACP model
Affected Components
- src/acp/event-mapper.ts - src/acp/translator.ts
Remediation
- Enforce a 2 MiB prompt-text limit before concatenation - Count inter-block newline separator bytes during pre-concatenation size checks - Keep final outbound message-size validation before chat.send - Avoid stale active-run session state when oversized prompts are rejected - Add regression tests for oversize rejection and active-run cleanup
Fix Commit(s)
- 732e53151e8fbdfc0501182ddb0e900878bdc1e3 - ebcf19746f5c500a41817e03abecadea8655654a - 63e39d7f57ac4ad4a5e38d17e7394ae7c4dd0b9c
Thanks @aether-ai-agent for reporting.