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

CVE-2026-35667 OpenClaw进程终止漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-35667
漏洞类型
资源管理错误
CVSS评分
6.1 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenClaw

相关标签

OpenClaw资源管理错误本地漏洞拒绝服务逻辑漏洞

漏洞概述

OpenClaw在2026.3.24之前的版本中对CVE-2026-27486的修复不完整。其聊天命令!stop使用了shell-utils.ts中未修补的killProcessTree函数,该函数直接发送SIGKILL信号而非先进行优雅的SIGTERM关闭。攻击者可利用此漏洞强制终止进程,导致数据损坏、资源泄漏及跳过安全清理操作。

技术细节

该漏洞的产生源于OpenClaw项目在修复之前的漏洞(CVE-2026-27486)时,未能完全覆盖所有代码路径。具体而言,位于shell-utils.ts文件中的killProcessTree函数存在逻辑缺陷。正常情况下,系统在终止服务进程时应遵循优雅关闭机制,即首先发送SIGTERM信号,允许进程捕获信号并执行清理回调,如刷新缓冲区、关闭文件描述符、删除临时文件等。然而,受影响的版本中,!stop聊天命令调用的该函数直接执行了操作系统级别的SIGKILL命令。由于SIGKILL不可被应用程序捕获或忽略,进程会立即被内核终止。这种暴力终止方式导致正在进行的I/O操作中断,引发数据损坏(完整性影响);同时,已分配的系统资源(如内存句柄、套接字)可能未被正确释放,导致资源泄漏。此外,涉及敏感信息的清理步骤(如内存擦除)被跳过,可能造成潜在的安全风险。本地低权限攻击者通过触发该命令,即可对系统造成上述破坏。

攻击链分析

STEP 1
1
攻击者获取本地低权限访问权限,能够访问OpenClaw的聊天界面。
STEP 2
2
攻击者在聊天窗口中发送特定的“!stop”命令。
STEP 3
3
系统调用shell-utils.ts中存在漏洞的killProcessTree函数。
STEP 4
4
该函数直接向目标进程发送SIGKILL信号,跳过优雅关闭流程。
STEP 5
5
目标进程强制终止,导致数据损坏、资源泄漏及清理操作被跳过。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-35667 // Simulation of the vulnerable !stop command behavior function vulnerableKillProcessTree(pid) { // Vulnerability: Directly sends SIGKILL (kill -9) // instead of SIGTERM (kill -15) for graceful shutdown. console.log(`Executing !stop command on PID: ${pid}`); const { exec } = require('child_process'); // This is the vulnerable code path exec(`kill -9 ${pid}`, (error, stdout, stderr) => { if (error) { console.error(`Error: ${error.message}`); return; } if (stderr) { console.error(`Stderr: ${stderr}`); return; } console.log('Process killed immediately. Potential data corruption occurred.'); }); } // Trigger the vulnerability vulnerableKillProcessTree(1337);

影响范围

OpenClaw < 2026.3.24

防御指南

临时缓解措施
在升级版本之前,建议限制普通用户对管理命令(如!stop)的执行权限,或者通过系统监控机制检测异常的SIGKILL调用,以减少潜在的误操作或恶意利用风险。

参考链接

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