框架工具官方公告

Prefab UI 生成式 UI 沙箱可逃逸至宿主机,0.21.0 已收回 Deno 权限

11 月 1 日公开的 CVE-2026-120338 指出,Prefab UI 0.14.0 至 0.20.2 的可选生成式 UI 沙箱虽在 Pyodide 中运行模型或调用方提供的 Python,却把具备读、写和联网权限的 Deno API 留在 JavaScript 全局对象上。攻击代码可借 Pyodide 的 js 代理读取或写入宿主文件,并可写入虚拟环境的 .pth 文件形成持久执行。0.21.0 在接收生成代码前撤销读写和网络权限,并以 --no-prompt 阻止重新授权。

为什么值得关注

这是“在浏览器技术或 WebAssembly 中执行”并不等于隔离的直接反例。生成式 UI 若允许模型产出代码,真实安全边界取决于宿主进程权限、工具授权、网络暴露和执行前后的权限撤销。

技术细节

GitHub Advisory Database 将该问题列为 Critical,给出 CVSS 3.1 10.0;常见远程路径是 FastMCP GenerativeUI provider 的 generate_prefab_ui 工具将 code 参数送入沙箱。未配置认证时,可到达服务器的客户端即可调用;有认证时,具备该工具权限的客户端仍可触发。漏洞在 0.20.2 上得到确认。修复 PR #538 于 10 月 25 日合并并进入 10 月 26 日发布的 0.21.0:引导阶段仅允许访问 cdn.jsdelivr.net,加载运行时和 Prefab 源后撤销 Deno 文件与网络权限,并禁用交互式权限提示。

适合哪些读者

运行 Prefab UI、FastMCP GenerativeUI 或任何允许模型代码进入 Pyodide/Deno 执行路径的平台、安全与基础设施团队。

原始来源

修订与更正记录 (1)

— A newly discovered, evidence-complete critical vulnerability directly affects optional generative-UI code execution; the advisory, affected range, exploit path and upstream fix are documented.

相关事件

框架工具

AI SDK 7.0.163 修正遥测内容开关,并保持 Google 流中的工具调用顺序与签名历史

Vercel 于 11 月 5 日发布 AI SDK 7.0.163:`recordInputs` 与 `recordOutputs` 现在也约束发往 integrations 和 `ai:telemetry` channel 的内容,关闭记录时会过滤提示、工具输入、响应文本与原始 span 结果,同时保留用量等应用结果;同版还修复 Google 流式响应中文本、完整函数调用与 thought signature 的顺序和跨轮历史。

框架工具

json-render 0.22 把同一生成式 UI 目录流式映射为 Slack 与 Teams 原生卡片

json-render 0.22.0 于 11 月 4 日发布 `@json-render/chat`:同一组件目录可转换为 Chat SDK 卡片,`streamCard` 随元素到达持续编辑线程消息,`toCard` 按组件 schema 与可选平台上限验证最终卡片。官方示例同时预览 Slack Block Kit 与 Teams Adaptive Card。