GHSA-GQ83-8Q7Q-9HFX: GHSA-GQ83-8Q7Q-9HFX: OpenClaw 沙箱注册表中的竞争条件导致数据损坏
发布: (2026年3月4日 GMT+8 08:10)
3 分钟阅读
原文: Dev.to
Source: Dev.to
概述
- 漏洞 ID: GHSA-GQ83-8Q7Q-9HFX
- CVSS 分数: 6.6(中等)
- 发布时间: 2026-03-03
- 修补日期: 2026-02-18
OpenClaw 在 2026.2.18 之前的版本中,沙箱注册表管理系统存在竞争条件。该缺陷源于在 containers.json 和 browsers.json 注册表文件的读‑改‑写循环期间进行的不安全文件处理操作。并发尝试更新或删除注册表条目可能导致更新丢失、状态不同步,甚至完整截断注册表数据,进而在高并发环境下产生孤立容器和资源泄漏。
技术细节
- CWE ID: CWE-362(竞争条件)
- 相关 CWE: CWE-367(TOCTOU)
- 攻击向量: 网络
- 完整性影响: 高
- 可用性影响: 低
竞争条件允许并发写入破坏或清除沙箱跟踪数据。此问题已在 2026.2.18 通过引入文件锁定和原子写入操作得到修复。
影响
- 沙箱注册表数据(
containers.json、browsers.json)损坏或丢失。 - 孤立的 Docker 容器导致资源泄漏。
- 在大量并发代理操作的环境中可能导致拒绝服务。
缓解措施
- 更新 OpenClaw 至 2026.2.18 或更高版本。
- 若对项目进行分叉,请为所有注册表 I/O 实现文件锁定机制。
- 当无法立即打补丁时,降低代理操作的并发度。
修复步骤
-
停止 所有运行中的 OpenClaw 代理实例。
-
拉取 仓库的最新版本或将软件包依赖更新至 2026.2.18。
-
确认
node_modules已更新以反映新的锁定依赖。 -
重启 OpenClaw 服务。
-
运行
sandbox list验证注册表完整性。 -
若已出现损坏,使用以下命令手动清理孤立的 Docker 容器:
docker ps docker rm
参考资料
- BSI 安全通报(德文) – 详细报告及交互式图示。
- GHSA‑GQ83‑8Q7Q‑9HFX – 官方咨询。