CVE-2026-31994
Summary
OpenClaw Windows Scheduled Task script generation allowed unsafe argument handling in generated gateway.cmd files. In vulnerable versions, cmd metacharacter-only values could be emitted without safe quoting/escaping, which could lead to unintended command execution when the scheduled task runs.
Details
The issue affected Windows daemon startup script generation in src/daemon/schtasks.ts.
Vulnerable behavior included:
- Incomplete cmd argument quoting for metacharacter-only values.
- Incomplete handling of cmd expansion-sensitive characters in script arguments.
- Missing CR/LF guards for script-rendered fields.
The fix hardens Windows script generation by:
- Separating schtasks argument quoting from batch script argument quoting.
- Quoting cmd metacharacter arguments and escaping
%/!expansion cases. - Rejecting CR/LF in command arguments, task descriptions, and rendered environment assignments.
- Adding regression tests for metacharacter and line-break injection paths.
Impact
This issue is local to Windows deployments and requires control over values that feed service script generation (for example install-time/runtime arguments or environment-derived values). It can result in unintended command execution in the scheduled task context.
Affected Packages / Versions
- Package:
openclaw(npm) - Vulnerable versions:
<= 2026.2.17 - Patched version:
>= 2026.2.19(planned next npm release) - Latest published npm version at update time (2026-02-19):
2026.2.17
Fix Commit(s)
280c6b117b2f0e24f398e5219048cd4cc3b82396
OpenClaw thanks @tdjackey for reporting.
Package Versions Affected
Automatically patch vulnerabilities without upgrading
CVSS Version



Related Resources
References
https://github.com/openclaw/openclaw/security/advisories/GHSA-mqr9-vqhq-3jxw, https://nvd.nist.gov/vuln/detail/CVE-2026-31994, https://github.com/openclaw/openclaw/commit/280c6b117b2f0e24f398e5219048cd4cc3b82396, https://github.com/openclaw/openclaw, https://www.vulncheck.com/advisories/openclaw-local-command-injection-via-unsafe-cmd-argument-handling-in-windows-scheduled-task
