IPBUF安全漏洞报告
English
CVE-2026-8597 CVSS 7.2 高危

CVE-2026-8597 Amazon SageMaker Python SDK 代码执行漏洞

披露日期: 2026-05-14
来源: ff89ba41-3aa1-4d27-914a-91399e9639e5

漏洞信息

漏洞编号
CVE-2026-8597
漏洞类型
远程代码执行
CVSS评分
7.2 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Amazon SageMaker Python SDK

相关标签

RCE代码执行SageMakerAWSPickle反序列化

漏洞概述

Amazon SageMaker Python SDK v2.257.2之前和v3.8.0之前的版本中,Triton推理处理器缺少完整性验证机制。远程经过身份认证的攻击者若拥有模型S3路径的写入权限,可替换模型工件为特制的pickle载荷。当系统反序列化该模型时,将在推理容器中执行任意代码。

技术细节

该漏洞的根本原因在于Amazon SageMaker Python SDK的Triton推理处理器在从S3加载模型时,未对模型工件进行完整性校验。在受影响版本中,SDK直接反序列化模型数据。攻击者需具备远程身份认证权限及S3模型路径的写入权限。利用时,攻击者构造包含恶意代码的pickle序列化对象,并上传替换S3中的合法模型文件。当受影响SDK调用模型进行推理时,会下载并反序列化被篡改的文件。由于pickle反序列化机制的不安全性,恶意载荷被解析并执行,从而导致攻击者在推理容器中获得远程代码执行权限。

攻击链分析

STEP 1
步骤1:获取权限
攻击者获取对目标SageMaker环境的远程身份认证权限,以及存放模型工件的S3存储桶路径的写入权限。
STEP 2
步骤2:构造载荷
攻击者创建一个包含恶意Python代码的pickle序列化文件,利用pickle的不安全反序列化特性设计执行逻辑。
STEP 3
步骤3:替换模型
攻击者将S3上原本合法的模型文件替换为生成的恶意pickle文件。
STEP 4
步骤4:触发反序列化
当SageMaker推理容器启动或加载模型时,受影响的SDK会自动从S3下载模型文件并进行反序列化操作。
STEP 5
步骤5:执行代码
反序列化过程触发恶意代码执行,攻击者在推理容器内获得任意代码执行权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import pickle import os # Define a malicious class that executes code upon deserialization class MaliciousPayload: def __reduce__(self): # The command to execute (e.g., reverse shell or arbitrary command) return (os.system, ('touch /tmp/pwned && echo "RCE Successful"',)) # Serialize the malicious object malicious_model = pickle.dumps(MaliciousPayload()) # Save the payload to a file (simulating the model artifact) with open('malicious_model.pkl', 'wb') as f: f.write(malicious_model) print("Malicious pickle payload generated.") # An attacker would upload this file to the S3 path used by SageMaker.

影响范围

Amazon SageMaker Python SDK < v2.257.2
Amazon SageMaker Python SDK < v3.8.0

防御指南

临时缓解措施
建议立即升级到Amazon SageMaker Python SDK的安全修复版本(v2.257.2或v3.8.0),并使用更新后的SDK重新构建之前通过ModelBuilder创建的所有Triton模型,以确保模型工件的完整性验证机制生效。

参考链接

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