Amazon SSM Agent路径穿越可写入root文件:低权限也能越界

AWS安全公告 于2026年8月28日披露CVE-2026-81849:Amazon SSM Agent的aws:downloadContent插件存在路径穿越问题。具备受限ssm:SendCommand权限的已认证远程用户,可能通过特制S3对象键把任意文件写到预定下载目录之外,并借用Agent的运行权限完成root级写入。
这不是无需身份验证的互联网入口,但也不只是普通下载错误。OpenCVE收录的CVE记录 显示,该漏洞已于2026年8月28日进入PUBLISHED状态,受影响版本被建模为低于3.3.4515.0;明确修复方法是将amazon-ssm-agent升级至3.3.4515.0或更高版本。
低权限如何越过原有边界

利用链的起点不是匿名访问,而是一个已经通过AWS身份认证的用户或角色。该主体必须拥有ssm:SendCommand权限,并能把命令发送给目标受管节点;公告描述的典型边界是,这项权限被限制到AWS-DownloadContent文档,而不是允许执行任意Shell命令。
正常情况下,AWS-DownloadContent只应让Agent从指定来源取得内容并写入预定目录。漏洞允许攻击者在其可控制的S3来源中构造恶意对象键,使旧版Agent解析出的目标路径离开该目录。于是,原本只能“调用下载文档”的身份获得了超出IAM策略设计意图的本地文件写入能力。
完整权限链可概括为:已认证AWS主体取得受限SendCommand权限,选择可访问的受管节点并调用AWS-DownloadContent,任务读取含特制对象键的S3内容,旧版Agent未能把落盘路径限制在工作目录内,最后由高权限Agent进程执行写入。任何一环缺失都会影响可利用性,因此不能把漏洞描述成“安装了SSM Agent就能被外部匿名拿下”。
root写入不等于每次都会立即执行代码
漏洞直接提供的能力是越界写文件。AWS进一步指出,如果被覆盖的是特定敏感文件,结果可能升级为以root身份执行任意代码;这需要攻击者能够选中有安全意义的目标,而不是每次越界写入都会自动触发代码执行。
root权限来自Agent的本地运行上下文,而非远程调用者原本拥有root账户。SSM Agent需要执行管理、配置和命令任务,在Linux和macOS上以root用户运行;漏洞使受限制的远程操作借用了这一高权限上下文,打通了低权限AWS身份与操作系统高权限文件之间原本不应存在的通道。
风险也不能只按公网暴露情况判断。SSM Agent用于管理EC2实例、边缘设备、本地服务器和虚拟机,所以通过Systems Manager登记的混合与多云节点也在盘点范围内。更有效的判断条件是节点运行的Agent版本、谁能对它发送命令,以及相关身份是否能使用AWS-DownloadContent和控制其S3输入。
版本范围与区域检查不能混为一谈

AWS公告明确列出的受影响发行版是2.0.767.0至3.3.4364.0,同时要求升级到3.3.4515.0或更高版本;CVE记录则用“低于3.3.4515.0”表示受影响范围。两种写法的安全处置门槛相同:实际运行版本未达到3.3.4515.0,就不应被标记为已修复。
管理员可以先在Systems Manager Fleet Manager的SSM Agent version列汇总版本,再按各操作系统的软件包工具在节点内复核。长期运行的实例、旧AMI创建的节点、暂时离线的机器、混合激活节点以及团队维护的派生构建都需要单独处理;派生版本只有合入修复代码,才不能仅凭自定义版本字符串判定安全。
AWS维护的Amazon SSM Agent仓库 说明,源码发布后,安装包最多可能需要两周才能传播至所有AWS区域,并给出了区域VERSION文件的查询方式:普通区域使用https://s3.{region}.amazonaws.com/amazon-ssm-{region}/latest/VERSION,中国区域使用https://s3.{region}.amazonaws.com.cn/amazon-ssm-{region}/latest/VERSION。这里查到的是区域仓库可提供的版本,最终仍要确认节点上实际运行的二进制版本。
升级时同时复核自动更新状态

AWS公告明确表示没有可用的临时绕过方案,因此收紧IAM权限或更改下载目录都不能替代升级。节点应安装3.3.4515.0或更新版本;使用分支或派生代码的团队还需要确认对应修复已经合入。
- 盘点所有由Systems Manager管理的EC2实例、边缘设备、本地服务器和虚拟机,记录受管节点ID、区域、操作系统、当前Agent版本及在线状态。
- 把低于3.3.4515.0、版本未知或使用派生构建的节点列入修复范围,并先在非关键节点验证升级兼容性。
- 通过AWS-UpdateSSMAgent、State Manager关联、维护窗口或既有配置管理系统分批部署修复版本;若区域latest尚未达到门槛,不要把下载任务成功等同于修复完成。
- 升级后重新读取运行版本,确认Agent服务已经重启且节点恢复在线,并检查失败、离线或未被目标选择器覆盖的例外。
- 复核自动更新关联的目标范围和最近执行结果,防止只有新节点持续更新,而存量节点停留在旧版本。
升级窗口内可以进一步限制哪些IAM主体能够调用AWS-DownloadContent、可选择哪些受管节点,以及谁能修改相关S3对象。这样可以压缩利用条件,但不能修复旧版Agent的路径校验缺陷。
当前结论:修复门槛明确,利用前提仍不可省略
CVE-2026-81849已经公开,最低修复版本为3.3.4515.0,AWS没有提供可替代升级的绕过方案。完成处置的判断标准应是所有适用节点实际运行修复版本,区域传播或更新失败没有留下例外,自动更新机制也确实覆盖现有资产。
对风险的准确表述同样重要:攻击者需要已认证AWS身份、受限但可用的ssm:SendCommand权限、可作为输入的特制S3对象键以及可达的受管节点。这个前提排除了“完全无需登录”的说法,却没有削弱漏洞越过预定目录、借高权限Agent写入文件并可能进一步触发root代码执行的后果。
订阅我们的新闻通讯
将最新 Web3、AI 和加密货币新闻直接发送到您的邮箱。