🟠 高危 | CVE-2026-59251 — Allocation of resources without limits in Erlang/O...
🟠 《高危安全漏洞:CVE-2026-59251》
CVSS 评分: 高危(8.7) 状态: Received 发布时间: 2026-07-27
漏洞简介
CVE-2026-59251 是 Erlang/OTP 中 public_key 模块在处理 X.509 证书路径验证时存在的资源分配无限制漏洞(CWE-770)。该漏洞允许远程未认证攻击者通过 TLS 握手期间发送特制的 X.509 证书链,导致服务拒绝(Denial of Service, DoS)。
具体来说,在 public_key:pkix_path_validation/3 函数执行 RFC 5280 策略处理时,由 pubkey_policy_tree 维护的证书策略树(policy tree)会无上限地增长。当证书链包含 M 个策略(policies)且包含 K 个证书时,由于 pubkey_policy_tree:add_leaves/2 和 pubkey_policy_tree:add_leaf_siblings/2 函数会为每个证书的每个策略扩展树节点,该策略树的节点数量会以 M^K 的规模增长。因此,即使是一个策略数量较多的中等长度证书链,也足以导致 BEAM 调度器(BEAM schedulers)被耗尽,并耗尽节点的内存,最终使整个 Erlang 虚拟机(VM)崩溃。
攻击者只需能够向受害者提供证书链,这是 TLS 握手的正常前提条件。因此,该漏洞可成功利用于任何入站或出站的 TLS 连接,只要该连接验证对端证书链(默认情况下,SSL/TLS 客户端和双向 TLS 服务器都会进行验证)。
该漏洞与 OpenSSL 的 X509_verify_cert 策略树拒绝服务漏洞属于同一类。
该漏洞涉及的程序文件为 lib/public_key/src/pubkey_policy_tree.erl,涉及的程序例程为 pubkey_policy_tree:add_leaves/2 和 pubkey_policy_tree:add_leaf_siblings/2。
影响范围
该漏洞影响以下 Erlang/OTP 版本及对应的 public_key 模块版本:
- OTP 版本:
- OTP 26.2 至 OTP 29.0.4 之前
- OTP 28.5.0.4 之前
- OTP 27.3.4.15 之前
- public_key 模块版本:
- 1.15 至 1.21.4 之前
- 1.20.3.4 之前
- 1.17.1.5 之前
风险分析
- 攻击向量:远程网络攻击(AV:N),攻击者无需认证(PR:N),无需用户交互(UI:N)。
- 攻击复杂度:低(AC:L),攻击者只需构造一个包含多个策略的 X.509 证书链,并在 TLS 握手期间发送给受害者。
- 影响后果:
- 可用性(Availability):高(VA:H),攻击可导致 BEAM 调度器耗尽、内存耗尽,最终使整个 Erlang VM 崩溃,造成服务完全不可用。
- 机密性(Confidentiality):无影响(VC:N)。
- 完整性(Integrity):无影响(VI:N)。
- CVSS 4.0 评分:基础分 7.1(高危),向量为
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L。该评分反映了漏洞易于利用且对可用性造成严重影响的特点。
总结:该漏洞是一个严重的拒绝服务漏洞,攻击者无需任何权限即可通过正常的 TLS 握手过程触发,导致 Erlang/OTP 服务崩溃。所有使用受影响版本 Erlang/OTP 且启用了 TLS 证书验证的服务(包括客户端和服务器)均面临风险。建议立即升级到修复版本。
🔍 技术细节
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-59251 |
| CVSS 评分 | 8.7 🟠 |
| 严重程度 | 高危 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-770 |
| 发布时间 | 2026-07-27 |
| 最后更新 | 2026-07-27 |
| 状态 | Received |
| 数据来源 | 6b3ad84c-e1a6-4bf7-a703-f496b71e49db |