CVE-2024-34064
中已发布
Jinja 在将用户输入作为键传递给 xmlattr 过滤器时存在 HTML 属性注入漏洞
- 已发布
- 2024年5月6日
- 已更新
- 2025年11月3日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月8日
初级CVSS
5.4/ 10中
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N1.0%
低 · 未来 30 天
- 百分位
- 60.2%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Jinja 是一个可扩展的模板引擎。受影响版本的 Jinja 中的 `xmlattr` 过滤器会接受包含非属性字符的键。XML/HTML 属性不能包含空格、`/`、`>` 或 `=`,否则这些字符会被解释为开始一个新的属性。如果应用程序接受键(而非仅接受值)作为用户输入,并将这些键渲染到其他用户也能看到的页面中,攻击者就可以借此注入其他属性并执行 XSS。CVE-2024-22195 的修复仅处理了空格问题,而未处理其他字符。现在,接受键作为用户输入被明确视为 `xmlattr` 过滤器的非预期用例,任何在未对输入进行额外验证的情况下这样做的代码都应被标记为不安全,无论 Jinja 版本如何。接受 _值_ 作为用户输入仍然是安全的。该漏洞已在 3.1.4 版本中修复。
来源
5演示了 Flask 应用中未进行清理的 CVE-2024-34064,作为安全测试和教育分析的基线。
CVE-2024-34064 演示 - v5 正则表达式缺少结束锚点
CVE-2024-34064 演示 - v6 清理应用于错误的变量
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。