支持本站 — 捐款将帮助我们持续运营

目标:1000 元,已筹:736

73.6%
一、 漏洞 CVE-2025-68616 基础信息
漏洞信息
                                        # WeasyPrint HTTP重定向SSRF漏洞

## 概述
WeasyPrint 在 `default_url_fetcher` 中存在服务器端请求伪造(SSRF)防护绕过漏洞,影响版本早于 68.0。

## 影响版本
版本早于 68.0。

## 细节
漏洞源于 `default_url_fetcher` 使用 `urllib` 库处理 URL 获取时,自动跟随 HTTP 重定向但未对重定向后的新目标重新执行安全策略验证。攻击者可利用此机制绕过开发者实现的自定义 `url_fetcher` 所施加的访问限制,访问内部网络资源(如 `localhost` 服务或云平台元数据接口)。

## 影响
即使开发者已通过自定义 `url_fetcher` 试图阻止对敏感内部资源的访问,攻击者仍可通过恶意重定向诱导 WeasyPrint 请求内部服务,导致 SSRF 防护机制失效。
                                        
神龙判断

是否为 Web 类漏洞: 未知

判断理由:

N/A
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
WeasyPrint Vulnerable to Server-Side Request Forgery (SSRF) Protection Bypass via HTTP Redirect
来源:美国国家漏洞数据库 NVD
漏洞描述信息
WeasyPrint helps web developers to create PDF documents. Prior to version 68.0, a server-side request forgery (SSRF) protection bypass exists in WeasyPrint's `default_url_fetcher`. The vulnerability allows attackers to access internal network resources (such as `localhost` services or cloud metadata endpoints) even when a developer has implemented a custom `url_fetcher` to block such access. This occurs because the underlying `urllib` library follows HTTP redirects automatically without re-validating the new destination against the developer's security policy. Version 68.0 contains a patch for the issue.
来源:美国国家漏洞数据库 NVD
CVSS信息
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
来源:美国国家漏洞数据库 NVD
漏洞类别
指向未可信站点的URL重定向(开放重定向)
来源:美国国家漏洞数据库 NVD
二、漏洞 CVE-2025-68616 的公开POC
#POC 描述源链接神龙链接
三、漏洞 CVE-2025-68616 的情报信息
  • 标题: Server-Side Request Forgery (SSRF) Protection Bypass via HTTP Redirect · Advisory · Kozea/WeasyPrint · GitHub -- 🔗来源链接

    标签:x_refsource_CONFIRM

    神龙速读:
                                            ## 漏洞关键信息
    
    ### 漏洞概述
    - **类型**: Server-Side Request Forgery (SSRF) Protection Bypass via HTTP Redirect
    - **严重性**: High (7.5/10)
    - **CVE ID**: CVE-2025-68616
    - **受影响版本**: < 67.0
    - **修复版本**: None
    
    ### 漏洞描述
    - **总结**: 
      - WeasyPrint 的 `default_url_fetcher` 存在一个SSRF保护绕过漏洞,即使开发者实现了自定义的 `url_fetcher` 来阻止对内部网络资源(如localhost服务或云元数据端点)的访问,该漏洞仍允许攻击者访问这些资源。
      - 漏洞存在原因是底层的 `urllib` 库会自动跟随HTTP重定向,而不会重新验证新目标地址是否符合开发者的安全策略。
    
    - **详细信息**:
      - WeasyPrint允许开发者定义自定义的 `url_fetcher` 函数来验证或清理URL,但底层实现使用了Python标准库 `urllib.request.urlopen`。
      - 该库默认会跟随HTTP重定向(如301, 302, 307等状态码),而不会将控制权交还给开发者的验证逻辑,从而绕过安全检查。
    
      - 这种行为会导致时间检查到时间使用 (TOCTOU) 漏洞,攻击者可提供一个通过开发者白名单/黑名单检查的URL,但立即重定向到被阻止的内部资源。
    
    ### 证明概念 (PoC)
    - **步骤**:
      1. `victim.py`: 模拟一个内部服务,端口5000,在`/secret`路径下返回敏感数据。
      2. `attacker.py`: 模拟外部重定向服务器,端口1337,将请求重定向到被阻止的hostname(如`localhost`)。
      3. `exploit.py`: 模拟带有安全过滤器的应用程序,该过滤器本意是阻止对`localhost`的访问。通过构造`http`请求利用漏洞访问`localhost`。
      4. `attack verify`: 检查构建的PDF中的嵌入文件是否包含敏感数据。
    
    ### 影响
    - **内部网络侦察**: 攻击者可以绕过防火墙或白名单扫描内部服务。
    - **云元数据窃取**: 在云环境中,攻击者可重定向请求到元数据服务,窃取实例凭证并提升权限。
    - **安全控制绕过**: 使 `url_fetcher` 的安全验证逻辑对复杂攻击无效,给开发者造成虚假的安全感。
                                            
    Server-Side Request Forgery (SSRF) Protection Bypass via HTTP Redirect · Advisory · Kozea/WeasyPrint · GitHub
  • 标题: Merge remote-tracking branch 'security/filter-redirections' · Kozea/WeasyPrint@b6a14f0 · GitHub -- 🔗来源链接

    标签:x_refsource_MISC

    神龙速读:
                                            - 提交信息
      - 提交ID: b6a14f0
      - 提交时间: 10小时前
      - 提交者: iZe
    
    - 变更文件
      - 2个文件更改, 增加15行, 删除2行
      - docs/changelog.rst
        - 版本: 68.0
        - 发布日期: 2026-01-19
        - 安全更新: CVE-2025-68616
        - 推荐升级WeasyPrint到最新版本以使用`default_url_fetcher`函数自定义URL获取器, 或使用`default_url_fetcher`函数的`allowed_protocols`参数。
        - 安全性:
          - 总是使用URL获取器处理HTTP重定向。
      - weasyprint/urls.py
        - 更改`default_url_fetcher`函数, 添加对HTTP重定向的警告。
        - 建议使用新的`URLFetcher`类替代`default_url_fetcher`。
        - `default_url_fetcher`将在WeasyPrint 69.0版本中废弃并移除。
        - 关于安全原因, 默认的URL获取器不再支持HTTP重定向, 但在`URLFetcher`中支持。具体可查阅文档: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#url-fetchers
                                            
    Merge remote-tracking branch 'security/filter-redirections' · Kozea/WeasyPrint@b6a14f0 · GitHub
  • https://nvd.nist.gov/vuln/detail/CVE-2025-68616
四、漏洞 CVE-2025-68616 的评论

暂无评论


发表评论