Hackney库HTTP连接池资源释放漏洞解析

本文详细分析了CVE-2025-3864漏洞,该漏洞影响Erlang的HTTP客户端库Hackney。在处理307临时重定向响应时,库未能正确释放HTTP连接回连接池,可能导致攻击者耗尽连接池资源,引发拒绝服务攻击。

CVE-2025-3864:Hackney未能正确释放HTTP连接至连接池

漏洞概述

CVE-2025-3864 是一个影响Erlang HTTP客户端库Hackney的安全漏洞,被评定为低严重性。该漏洞存在于处理HTTP 307临时重定向响应时,库未能正确将HTTP连接释放回连接池。

受影响版本

  • 受影响版本:所有低于1.24.0的Hackney版本
  • 已修复版本:1.24.0及以上

漏洞详情

当Hackney库处理服务器返回的307状态码(临时重定向)响应时,存在资源管理缺陷。攻击者可以远程利用此漏洞,通过持续触发重定向响应,逐渐耗尽应用程序的连接池资源。

攻击影响

成功的攻击可导致:

  • 连接池资源被完全占用
  • 应用程序无法建立新的HTTP连接
  • 最终引发**拒绝服务(DoS)**情况

技术背景

连接池管理

HTTP连接池是现代网络库的重要优化机制,通过复用已建立的TCP连接,减少频繁建立和断开连接的开销。正确的资源释放机制是确保连接池健康运行的关键。

307重定向处理

HTTP 307状态码要求客户端在重定向时保持相同的HTTP方法(特别是POST请求)。Hackney在处理这类重定向逻辑时,未能妥善管理先前建立的连接资源。

漏洞修复

该漏洞已在Hackney 1.24.0版本中修复。修复内容包括:

  • 改进了307重定向处理流程中的连接管理逻辑
  • 确保所有场景下连接都能正确释放回池中

安全建议

  1. 立即升级:所有使用Hackney库的项目应升级至1.24.0或更高版本
  2. 监控连接池:在生产环境中监控HTTP连接池的使用情况
  3. 实施速率限制:对重定向响应实施适当的客户端限制

相关资源

  • NVD条目:https://nvd.nist.gov/vuln/detail/CVE-2025-3864

  • CERT Poland分析:https://cert.pl/en/posts/2025/05/CVE-2025-3864

CVSS评分详情

  • 总体评分:2.3/10(低风险)
  • 攻击向量:网络(AV:N)
  • 攻击复杂度:低(AC:L)
  • 权限要求:无(PR:N)
  • 用户交互:被动(UI:P)
  • 影响范围:可用性低(VA:L)

CWE分类

  • CWE-772:有效生命周期后资源未释放
  • 该弱点指产品在资源不再需要后未能正确释放资源。

EPSS评分

  • 利用概率:0.301%(第53百分位)
  • 该评分估计未来30天内此漏洞被利用的可能性
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计