HIGHCVE-2025-68616CVSS 7.5

WeasyPrint 存在 HTTP 重定向绕过 (SSRF Protection Bypass) 服务器端请求伪造漏洞

平台

python

组件

weasyprint

修复版本

68.0.1

68.0

AI Confidence: highNVDEPSS 0.1%已审阅: 2026年5月

CVE-2025-68616 描述了 WeasyPrint 的 defaulturlfetcher 中的服务器端请求伪造 (SSRF) 保护绕过漏洞。该漏洞允许攻击者访问内部网络资源,即使开发人员已经实施了自定义 url_fetcher 来阻止此类访问。受影响的版本包括 WeasyPrint 67.0 及更早版本。建议升级至 68.0 版本以解决此问题。

Python

检测此 CVE 是否影响你的项目

上传你的 requirements.txt 文件,立即知道是否受影响。

上传 requirements.txt支持的格式: requirements.txt · Pipfile.lock

影响与攻击场景

攻击者可以利用此 SSRF 漏洞绕过 WeasyPrint 中实施的任何自定义 URL 验证机制。这意味着他们可以发起请求到内部网络资源,这些资源通常对外部用户不可见。例如,攻击者可以访问 localhost 上的服务,或者通过访问云元数据端点来获取敏感的云配置信息。这种攻击可能导致信息泄露、权限提升,甚至可能允许攻击者控制受影响的系统。由于 WeasyPrint 经常用于生成 PDF 文档,攻击者可能能够通过恶意 PDF 文件将此漏洞引入到其他应用程序中,从而扩大攻击范围。

利用背景

目前没有公开的漏洞利用程序 (PoC),但该漏洞的本质使其容易受到攻击。由于 SSRF 漏洞通常被认为是高风险,因此预计可能会出现公开的 PoC。该漏洞已于 2026-01-20 公布。CISA 尚未将其添加到 KEV 目录,但其高 CVSS 评分表明存在中等至高的利用概率。

哪些人处于风险中翻译中…

Organizations using WeasyPrint to generate documents from untrusted sources are particularly at risk. This includes applications that process user-supplied URLs or data that is subsequently used in document generation. Shared hosting environments where multiple applications share the same WeasyPrint instance are also vulnerable, as a compromise in one application could potentially be leveraged to exploit this SSRF vulnerability in others.

检测步骤翻译中…

• python / server:

import requests
from urllib.parse import urlparse

def check_redirects(url):
    try:
        response = requests.get(url, allow_redirects=True)
        parsed_url = urlparse(response.url)
        if parsed_url.netloc != urlparse(url).netloc:
            print(f"Potential SSRF bypass detected: URL redirected to {response.url}")
    except requests.exceptions.RequestException as e:
        print(f"Error checking URL: {e}")

# Example usage (replace with WeasyPrint-related URLs)
check_redirects("http://localhost:8000/internal")

• generic web:

curl -I 'http://your-weasyprint-server/some/url' | grep 'Location:'

攻击时间线

  1. Disclosure

    disclosure

威胁情报

漏洞利用状态

概念验证未知
CISA KEVNO
互联网暴露

EPSS

0.06% (18% 百分位)

CISA SSVC

利用情况poc
可自动化yes
技术影响partial

CVSS 向量

威胁情报· CVSS 3.1CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N7.5HIGHAttack VectorNetwork攻击者如何到达目标Attack ComplexityLow利用漏洞所需的条件Privileges RequiredNone攻击所需的认证级别User InteractionNone是否需要受害者采取行动ScopeUnchanged超出受影响组件的影响范围ConfidentialityHigh敏感数据泄露风险IntegrityNone数据未授权篡改风险AvailabilityNone服务中断风险nextguardhq.com · CVSS v3.1 基础分数
这些指标意味着什么?
Attack Vector
网络 — 可通过互联网远程利用,无需物理或本地访问。攻击面最大。
Attack Complexity
低 — 无需特殊条件,可以稳定地利用漏洞。
Privileges Required
无 — 无需认证,无需凭证即可利用。
User Interaction
无 — 攻击自动且无声,受害者无需任何操作。
Scope
未改变 — 影响仅限于脆弱组件本身。
Confidentiality
高 — 完全丧失机密性,攻击者可读取所有数据。
Integrity
无 — 无完整性影响。
Availability
无 — 无可用性影响。

受影响的软件

组件weasyprint
供应商osv
影响范围修复版本
< 68.0 – < 68.068.0.1
68.0

弱点分类 (CWE)

时间线

  1. 已保留
  2. 发布日期
  3. 修改日期
  4. EPSS 更新日期
披露后0天发布补丁

缓解措施和替代方案

最有效的缓解措施是升级到 WeasyPrint 68.0 或更高版本,该版本修复了此漏洞。如果无法立即升级,可以考虑以下临时缓解措施:首先,仔细审查并加强自定义 url_fetcher 的实现,确保它能够正确地验证和过滤所有 URL。其次,限制 WeasyPrint 应用程序的网络访问权限,只允许其访问必要的资源。最后,实施 Web 应用防火墙 (WAF) 规则,以检测和阻止可疑的 SSRF 请求。升级后,请确认通过测试自定义 URL 验证逻辑,确保新的版本不再允许绕过。

修复方法

升级 WeasyPrint 到 68.0 或更高版本。这可以修复 SSRF 漏洞,防止通过 HTTP 重定向绕过保护。可以使用 Python 包管理器 pip 执行命令 `pip install --upgrade weasyprint` 进行升级。

CVE 安全通讯

漏洞分析和关键警报直接发送到您的邮箱。

常见问题

什么是 CVE-2025-68616 — SSRF in WeasyPrint?

CVE-2025-68616 是 WeasyPrint 67.0 及更早版本中的服务器端请求伪造 (SSRF) 保护绕过漏洞,允许攻击者访问内部网络资源。

我是否受到 CVE-2025-68616 in WeasyPrint 的影响?

如果您正在使用 WeasyPrint 67.0 或更早版本,则可能受到此漏洞的影响。请立即升级到 68.0 或更高版本。

我如何修复 CVE-2025-68616 in WeasyPrint?

升级到 WeasyPrint 68.0 或更高版本是修复此漏洞的最佳方法。如果无法升级,请加强自定义 URL 验证逻辑并限制网络访问权限。

CVE-2025-68616 是否正在被积极利用?

目前没有公开的漏洞利用程序,但由于 SSRF 漏洞的严重性,预计可能会出现。

在哪里可以找到 WeasyPrint 官方关于 CVE-2025-68616 的公告?

请查阅 WeasyPrint 官方安全公告,以获取有关此漏洞的更多信息和修复指南。

你的项目受影响吗?

上传你的依赖文件,立即了解此CVE和其他CVE是否影响你。