漏洞概述 CVE编号: CVE-2026-49754 漏洞类型: CWE-770 - 资源分配无限制或节流 CVSS 4.0 评分: 8.2 (高) 漏洞描述: 在elixir-mint库中,存在一个资源分配无限制或节流的漏洞,允许攻击者控制的HTTP/2服务器耗尽Mint客户端的内存(HTTP/2 CONTINUATION洪水)。当Mint的HTTP/2接收路径观察到没有END_HEADERS标志的HEADERS帧时,未解析的header块片段会被存储在conn.headers_being_processed中,并且该流上的每个后续CONTINUATION帧都会被追加到累加器中。接收路径中的任何内容都不会限制累加器的大小,没有每流帧数限制,没有CONTINUATION帧计数限制,max_header_list_size仅在出站请求上强制执行,对入站header块无效(默认为:infinity)。恶意或受损的HTTP/2服务器可以流式传输无限数量的CONTINUATION帧(每个帧最多为对等方advertised SETTINGS MAX_FRAME_SIZE),并将客户端的列表设置为任意大小,导致内存耗尽和BEAM进程死亡。与攻击者控制的HTTP/2端点的单个连接就足够了。 影响范围 受影响版本: Mint 0.1.0 到 1.9.0 模块: Mint.HTTP2 源文件: lib/mint/http2.ex 例程: Mint.HTTP2.handle_continuation/3, Mint.HTTP2.handle_headers/3 状态: 受影响 类型: server 版本: 0.1.0 更改/修复: < 1.9.0 修复方案 变通方法: 将Mint限制为HTTP/1,通过传递protocols: [:http1]到:elixir.Mint.HTTP1.connect/4。这避免了整个HTTP/2接收路径的漏洞,但代价是失去了对这些连接的HTTP/2支持。 参考链接 GitHub Advisory OSV.dev Vulnerability GitHub Commit 贡献者 发现者: Peter Ullrich 修复开发者: Eric Meadows-Jönsson 分析师: Jonatan Männchen / EEF