影响分析
因为 Banks 被设计来呈现面向 LLM 的提示模板,任何允许甚至部分不可信输入进入模板的应用程序(例如 RAG 检索内容、用户提供的变量)可能导致通过 import_path 机制的完全远程代码执行,或通过媒体过滤器的任意服务器文件的静默披露。
攻击途径
CVE-2026-61536:Banks 从呈现的 {% completion %} 块内容解析 Tool JSON 对象,并通过 importlib.import_module()+getattr() 解析其 import_path 字段而无限制,如果攻击者控制模板呈现的内容,则允许任意代码执行。CVE-2026-62663:所有四个媒体过滤器接受不可信文件路径并直接将其传递给 open(),而无需清理,启用任意文件读取。
受影响系统
Banks(Python LLM 提示模板库)2.4.3 之前(CVE-2026-61536)和 2.4.4 之前(CVE-2026-62663)
缓解措施
按照 GitHub 安全公告升级到 Banks 2.4.3(import_path 修复)和 2.4.4(媒体过滤器路径清理)。