CVE-2023-32309
任意文件包含漏洞(涉及 pymdowm-snippets 扩展)
- 已发布
- 2023年5月15日
- 已更新
- 2025年1月22日
- 分配 CNA
- GitHub_M
- 观察到的证据
- 2026年8月8日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N低 · 未来 30 天
- 百分位
- 75.2%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
PyMdown Extensions 是 `Python-Markdown` markdown 项目的一组扩展。在受影响版本中,使用 include 文件语法时存在任意文件读取漏洞。通过使用 `--8<--"/etc/passwd"` 或 `--8<--"/proc/self/environ"` 语法,这些文件的内容将被渲染到生成的文档中。此外,相对于指定允许的基础路径的相对路径也可用于渲染指定基础路径之外的文件内容:`--8<-- "../../../../etc/passwd"`。在 Snippets 扩展中,存在一个 `base_path` 选项,但该实现容易受到目录遍历攻击。易受攻击的部分位于 snippets.py 中 `get_snippet_path(self, path)` 的第 155 至 174 行。插件运行所在主机上的任何可读文件都可能暴露其内容。这可能影响任何将 Snippets 暴露给外部用户的使用场景。绝不建议使用 Snippets 处理面向用户的动态内容。它旨在处理后端由主机控制的已知内容,但如果有人意外地将其用于面向用户的内容,则可能暴露不希望公开的信息。此问题已在 10.0 版本中得到解决。建议用户升级。无法升级的用户可以通过过滤输入来限制相对路径。
来源
1基于Docker的CVE-2023-32309漏洞最小演示,用于教育性安全研究和利用分析。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。