漏洞概述 漏洞名称:pdfkit 漏洞 (CVE-2025-26240) 漏洞描述:pdfkit 库中的漏洞是由于解析用户提供的 HTML 中的 方法引起的,没有可用的选项来减轻风险。 方法使用以 "pdfkit-" 开头的 meta 标签,并将它们视为 wkhtmltopdf 工具的命令行参数。此解析在 文件中的 方法中进行。虽然此功能可能用于某些用例(如设置页面大小),但某些 wkhtmltopdf 参数存在安全风险。 简单 POC POC 代码: 执行命令: 结果:该命令将 文件的内容作为 POST 请求发送到 ,参数为 。 参数仅用于移除 pdfkit 库添加的额外破折号,确保 wkhtmltopdf 工具成功执行。 SSRF 利用: JavaScript 执行: 绕过 pdfkit 安全措施 问题描述:pdfkit 库允许开发者提供选项字典以直接传递给 wkhtmltopdf。主要问题是这些选项可以通过 Python 的字典处理方式轻松绕过。 代码示例: 绕过方法:攻击者可以操纵命令行参数的顺序发送给 wkhtmltopdf。如果开发者尝试设置安全选项,如 ,攻击者可以先设置这些选项,然后通过添加它们的对应项来覆盖它们,如 或 。 影响 1. 本地文件包含 (LFI) 和数据泄露 - 攻击者可以利用 参数访问服务器上的敏感文件,如 ,可能导致未经授权的系统信息泄露,潜在地导致权限提升或进一步利用主机。 2. 服务器端请求伪造 (SSRF) - 通过滥用命令行参数如 ,攻击者可以向内部或外部服务发送未经授权的 HTTP 请求。这可能导致: - 访问不应公开的内部资源。 - 绕过安全机制,如防火墙或 API 速率限制。 - 与云元数据服务交互以提取敏感凭据。 开发者的最简单解决方案 解决方案:对于使用此漏洞方法的开发者来说,最简单的解决方案可能是使用其他方法而不是 。例如,开发者可以将提供的 HTML 保存到临时文件,然后使用 方法,该方法不会解析 meta 标签。