IPBUF安全漏洞报告
English
CVE-2026-45224 CVSS 7.1 高危

CVE-2026-45224 Crabbox路径遍历致文件删除漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-45224
漏洞类型
路径遍历
CVSS评分
7.1 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Crabbox

相关标签

路径遍历Crabbox任意文件删除CVE-2026-45224

漏洞概述

Crabbox 0.9.0之前的版本中存在严重的路径遍历漏洞。该漏洞源于Islo provider对工作区路径的解析机制未进行有效验证。攻击者可以精心构造包含遍历序列(如../)的恶意配置文件(.crabbox.yaml),从而绕过预期的/workspace目录限制。当系统启用sync.delete功能时,会在解析后的路径上执行rm -rf和mkdir -p操作,导致任意文件被删除或覆盖,严重威胁系统完整性和可用性。

技术细节

该漏洞的核心在于Crabbox处理Islo provider工作区路径时的逻辑缺陷。在初始化阶段,应用程序会读取并解析.crabbox.yaml或crabbox.yaml配置文件以确定工作区位置。然而,代码未对用户提供的路径进行规范化处理或严格的边界检查,导致攻击者能够输入绝对路径或包含“../”的相对路径。这些恶意路径经过解析后,会指向系统预期的/workspace目录之外。当配置项sync.delete被启用时,系统会尝试清理并重新创建工作区,具体执行操作包括rm -rf <resolved_path>和mkdir -p <resolved_path>。由于resolved_path完全受攻击者控制,且命令以高权限运行,攻击者可利用rm -rf删除系统上的任意文件或目录,或利用mkdir -p破坏文件系统结构,造成数据丢失或拒绝服务。

攻击链分析

STEP 1
1. 构造恶意配置
攻击者创建一个包含路径遍历序列(如../)的.crabbox.yaml文件,将workspace字段指向系统敏感目录。
STEP 2
2. 诱导加载
攻击者将恶意配置文件传递给运行Crabbox的目标系统,确保系统会读取并处理该配置。
STEP 3
3. 路径解析
Crabbox读取配置文件,Islo provider解析路径,由于缺乏验证,解析后的路径指向/workspace之外的目录。
STEP 4
4. 执行破坏操作
由于启用了sync.delete,系统在准备阶段对解析出的恶意路径执行rm -rf命令,删除目标文件或目录。
STEP 5
5. 达成攻击效果
攻击者成功造成任意文件删除或覆盖,破坏系统完整性或导致服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# crabbox.yaml # Malicious configuration file to exploit path traversal # The attacker uses traversal sequences to escape the intended workspace workspace: "../../../../tmp/malicious_target" # When Crabbox processes this file with sync.delete enabled, # the application resolves the path and executes: # rm -rf ../../../../tmp/malicious_target # This results in the deletion of files outside the workspace.

影响范围

Crabbox < 0.9.0

防御指南

临时缓解措施
在无法立即升级的情况下,建议用户禁用sync.delete功能,并严格检查所有配置文件(.crabbox.yaml)中的workspace路径,确保其为合法的相对路径且不包含如../的遍历序列。此外,应以最小权限原则运行Crabbox,避免其拥有删除系统关键文件的权限。

参考链接