Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-68616-Detecting-and-Patching-an-SSRF-in-WeasyPrint-with-Wazuh — 动手实践的漏洞管理案例研究:Wazuh 如何标记 WeasyPrint 中的一个真实 SSRF(CVE-2025-68616),以及我如何复现并修复它。 | Kitploit
工具/GitHubGitHub/rauljvc8/cve-2025-68616-detecting-and-patching-an-ssrf-in-weasyprint-with-wazuh
漏洞分析Web安全入侵检测学习与教育事件响应实验室与实践
GitHubrauljvc8/cve-2025-68616-detecting-and-patching-an-ssrf-in-weasyprint-with-wazuh

CVE-2025-68616-Detecting-and-Patching-an-SSRF-in-WeasyPrint-with-Wazuh

动手实践的漏洞管理案例研究:Wazuh 如何标记 WeasyPrint 中的一个真实 SSRF(CVE-2025-68616),以及我如何复现并修复它。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
141个月前尚未审核
分享

从检测到修复:使用Wazuh狩猎并修补WeasyPrint中的真实SSRF漏洞(CVE-2025-68616)

TL;DR

在Kali Linux机器上使用Wazuh(开源SIEM/XDR)进行的个人实践练习中,漏洞检测模块识别出WeasyPrint包中存在一个**高(CVSS 7.5)**严重性漏洞:SSRF保护绕过(CVE-2025-68616)。我调查了该发现,通过本地概念验证复现了问题,应用了项目的修补版本,并验证了漏洞利用不再有效。本仓库记录了完整流程:检测、分析、PoC和修复。

背景

Wazuh是一个开源安全平台(SIEM + XDR),它结合了日志收集、文件完整性监控(FIM)、异常检测以及已监控主机上安装软件的漏洞检测,并将软件清单与CVE数据库(NVD等)进行交叉关联。

在本练习中,Wazuh代理运行在Kali GNU/Linux 2025.4机器上,管理器、索引器和仪表板也在本地运行。在发现该漏洞之前,环境已具备正常工作的主动监控:PAM登录会话、sudo执行、监听端口变化以及rootcheck异常事件,所有这些在威胁狩猎模块中均可见。

发现:CVE-2025-68616

Wazuh的漏洞检测模块报告了Kali代理上的1个高严重性漏洞,与weasyprint包相关。

技术细节(NVD)

WeasyPrint是一个将HTML/CSS转换为PDF文档的Python库,广泛用于从Web应用程序生成报告、发票和动态文档。

  • CVE: CVE-2025-68616
  • CVSS 3.x 基础评分: 7.5(高)
  • 向量: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • CWE-918: 服务器端请求伪造(SSRF)
  • CWE-601: 重定向至不可信站点(开放重定向)
  • 受影响版本: 68.0之前(cpe:2.3:a:kozea:weasyprint:*:*:*:*:*:*:*:*,直到但不包括68.0)
  • 发布时间(NVD): 2026年1月19日

描述: 在68.0版本之前,WeasyPrint的default_url_fetcher中存在SSRF保护绕过漏洞。即使开发者实现了自定义的url_fetcher来阻止此类访问,攻击者仍可利用该漏洞访问内部网络资源(如localhost服务或云元数据端点)。这是因为底层urllib库会自动跟随HTTP重定向,而不会针对开发者的安全策略重新验证新目的地。版本68.0包含针对此问题的补丁。

参考:

  • 官方公告:GHSA-983w-rhvv-gwmv
  • 补丁提交:b6a14f0...43f0e565
  • Red Hat CVE:access.redhat.com/security/cve/CVE-2025-68616

概念验证(PoC)

为了在修补前确认实际影响,我针对系统上安装的易受攻击版本设置了一个本地利用场景。

1. 克隆了应用补丁的仓库(主分支,已包含来自68.0版本的修复):

root@kitploit:~
git clone https://github.com/Kozea/WeasyPrint.git

2. 审查了修复后的代码,具体在weasyprint/urls.py中,其中包含default_url_fetcher逻辑和重定向处理:

3. 构建了一个恶意HTML文件,尝试通过iframe窃取本地系统文件,模拟CVE中描述的SSRF/未授权资源访问向量(注意:下面的文件名和文件内容保持与执行时完全一致,与截图中的终端输出匹配):

root@kitploit:~
cat << 'EOF' > ataque.html
<!DOCTYPE html>
<html>
<head>
    <title>PoC SSRF - WeasyPrint</title>
</head>
<body>
    <h1>Prueba de Exfiltración de Archivos Locales</h1>
    <p>Si el parche no está aplicado, el contenido de abajo debería mostrar el archivo /etc/passwd:</p>
    
</body>
</html>
EOF

python3 -m weasyprint ataque.html resultado_vulnerable.pdf
xdg-open resultado_vulnerable.pdf

4. 结果: 打开生成的PDF时,指向file:///etc/passwd的iframe显示为空,没有系统文件内容。这确认了在修补版本中,对未授权资源的访问尝试被正确阻止。

修复措施

  • 确定系统上安装了WeasyPrint 68.0之前的版本,易受CVE-2025-68616攻击。
  • 通过git clone从官方仓库获取修复后的代码(包含补丁提交b6a14f0...的分支)。
  • 通过上述PoC验证,修补版本不再允许通过iframe访问file:///etc/passwd资源。

结论与经验教训

  • Wazuh的漏洞检测模块使得识别已安装依赖中的真实高严重性漏洞成为可能,无需手动进行包扫描。
  • 将Wazuh告警与NVD中的官方CVE条目进行交叉关联,对于在尝试复现之前准确理解攻击向量(通过url_fetcher绕过的SSRF)至关重要。
  • 在个人隔离环境中构建受控PoC,可以验证实际影响并客观确认补丁的有效性,而不仅仅是信任版本号。
  • 此工作流程(检测→分析→PoC→修复→验证)完全反映了专业安全环境中预期的漏洞管理生命周期。

在个人隔离环境(Kali Linux + 本地运行的Wazuh)中进行的实践,用于教育目的。未访问任何第三方系统。

下载工具