CVE-2026-79696:谷歌 ADK for Python 满分代码注入漏洞,未认证即可 RCE

Google Cloud 于 2026 年 9 月 9 日披露 Agent Development Kit(ADK)for Python 的一处代码注入漏洞 CVE-2026-79696,CVSS 4.0 评分 10.0。在安装了 pytest 的环境中,未认证的远程攻击者可通过构造测试会话回放,在运行 adk web 的主机上以该进程权限执行任意代码。该漏洞影响 OSS 自建部署,以及 Cloud Run 与 GKE 上的 ADK 服务。

事件概述

ADK 是谷歌用于构建、评测与调试 AI 智能体的官方开源工具包,常用于快速搭建智能体服务端。受影响版本为 2.0.0 至 2.6.0,修复版本为 2.7.0。触发前提是环境中同时安装了 pytest 测试框架,因此在开发与测试环境中最容易命中;若服务暴露在公网并以开发模式运行,风险会显著放大。漏洞由研究员 Sanil Dulal 报告,CNA 归属 Google Cloud。

技术细节

根因是 CWE-184 不完整的禁止输入清单。ADK 在解析智能体配置中的代码引用时,依赖一份手工维护的危险标准库清单,例如封禁了 profile 却漏掉了 cProfile。多个标准库模块可以在不传构造参数的情况下执行字符串参数,例如 cProfile.runtimeit.timeittrace.Trace,它们从未被加入清单,因而可被当作工具或回调直接引用。

攻击路径为:攻击者构造一份测试会话回放载荷,其中记录的函数调用会被直接派发到解析后的工具与回调上,于是攻击者指定的标准库引用被当作代码执行。整个过程不需要账号、不需要交互,构成典型的未认证远程代码执行。

影响评估

CVSS 4.0 向量为 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H,机密性、完整性与可用性均为高影响。SSVC 评估显示自动化利用条件具备、当前尚无公开在野利用证据。一旦命中,攻击者可完全控制承载智能体工作负载的主机,进而读取云上凭据、篡改智能体逻辑、横向进入云环境;对以智能体为对外服务入口的组织,本质等同于把开发测试接口暴露成了远程执行入口。

修复建议

  • 升级 google-adk 到 2.7.0 或更高版本。该版本用完整的 Python 标准库清单(sys.stdlib_module_namessys.builtin_module_names)替代原有的手工拒绝列表,彻底封堵绕过路径:
pip install -U "google-adk>=2.7.0"
python -c "import google.adk, sys; print(google.adk.__version__)"
  • 短期内无法升级时,不要把 adk web 或任何会话回放、测试接口暴露给不可信网络,仅允许内网访问;
  • 生产环境移除 pytest,不安装非必需的测试依赖;
  • 审计现有智能体配置,删除指向标准库函数的工具与回调引用,只保留明确需要的项;
  • 对 Cloud Run 与 GKE 上的 ADK 工作负载收紧入站规则,并检查是否存在异常的出站连接与子进程派发。

参考来源