资讯 OpenSSL 3.6.4 修了 11 个 CVE:CMS 解密确定性 8 字节越界写、QUIC 双重释放

2026-09-14 21:03:45

OpenSSL 3.6.4 修了 11 个 CVE:CMS 解密确定性 8 字节越界写、QUIC 双重释放

OpenSSL 3.6.4 于 2026-08-25 发布,安全补丁版,本批最高严重级别 Moderate。同批还发了 4.0.2、3.5.8,3.4.7 与 3.0.22 对应另外几个 CVE。

  • 发布说明:https://openssl-library.org/news/openssl-3.6-notes/
  • 安全公告:https://openssl-library.org/news/secadv/20260825.txt
  • 仓库:https://github.com/openssl/openssl

下面按修复点分组,重点写触发条件,方便判断自己的服务是否踩到。

CMS 解封装:AES-WRAP-PAD 多写 8 字节

CVE-2026-63072(Heap buffer overflow in CMS key unwrap)。CMS 解密路径按查询到的 unwrapped key size 分配输出缓冲,但 AES-WRAP-PAD 解封原语实际写入并清理的字节数比查询报告的多,差额是 8 字节,落在堆上就是越界写。

触发条件是确定性的:攻击者构造一条 CMS 消息,受害者服务用 CMS_decrypt() 解密这条消息,就会产生固定 8 字节的堆越界写。后果通常是 DoS,不是 RCE。如果你的进程会解密来自外部的 CMS/PKCS7 数据(网关验签、邮件加密、部分 S/MIME 流程),这条优先级最高。报告方是 Trail of Bits。

QUIC:INITIAL 包双重释放 + 两条内存耗尽路径

  • CVE-2026-18798:QUIC 服务器处理 INITIAL 包时可对 QRX(QUIC record layer RX)对象双重释放,堆损坏后 QUIC 进程终止,形成 DoS。公告明确没有发现可利用的 RCE 路径。
  • CVE-2026-14456:QUIC 服务器 incoming channel 队列无上限增长,长期打流量即可耗尽内存。
  • CVE-2026-63075:QUIC 只保留 ACK-only 包也会导致内存耗尽。

三条任选其一都能把 QUIC 监听端打死,触发门槛不高,对外暴露 QUIC/HTTP3 的服务建议直接跟着这个补丁走。

CMP:无效指针解引用与格式串

  • CVE-2026-63076:CMP 服务器在处理构造的 protectionAlg 时无效指针解引用。根因是 CMP 基于口令的保护校验只检查 protectionAlg 非 NULL,不校验它的 ASN.1 类型就当 PBMParameter 用。远程未认证者都能打崩,CMP server/client 两侧都受影响(DoS)。
  • CVE-2026-63073:CMP 响应校验把不受信任的 Sender DN 当格式串使用。
  • CVE-2026-63074:CMP 的 extraCerts 缓存无限增长。

如果 PKI 里有 CMP 服务对公网或大内网开放,这三条合起来看是同一类问题:对端可控的 ASN.1 结构没有做类型与规模约束。

DTLS 与 OCSP 的内存问题

  • CVE-2026-54874:DTLS 为未来 epoch 缓冲记录,导致内存过度使用。
  • CVE-2026-54876:OCSP 响应校验客户端存在内存泄漏。
  • CVE-2026-14457:RPK 服务器签名算法选择可能解引用缺失证书(Low,仅 DoS)。

DTLS 这条对长连接的媒体/游戏类服务影响更明显——单条连接不会立刻挂,但内存随握手状态累积。OCSP 客户端的泄漏对做在线验签、长时间驻留的进程不友好。

AEAD 空密文可伪造

CVE-2026-75803EVP_Cipher() 处理空密文时,AEAD 认证可被伪造;同一处修复还覆盖了 CCM 模式空密文的认证标签校验。凡是自己直接调 EVP_Cipher() 而不是走 EVP_DecryptUpdate/Final 封装的后端代码,需要重点确认——空密文边界以前没被当成错误处理。

该升到哪个版本

当前分支升到
4.04.0.2
3.63.6.4
3.53.5.8
3.43.4.7
3.03.0.22

3.1 / 3.2 / 3.3 已停止支持,官方未做分析,也不再出补丁。

3.6.3 批次回顾

3.6.3 发布于 2026-06-09,最高级别 High,体量比这次更大,共十余项:

  • PKCS7_verify() 堆 use-after-free(CVE-2026-45447)
  • CMS AuthEnvelopedData 接受伪造消息(CVE-2026-34182)
  • QUIC PATH_CHALLENGE handler 内存无限增长(CVE-2026-34183)
  • OCSP 装订响应检查双重释放(CVE-2026-35188)
  • 解码时 AES-OCB IV 被忽略
  • ASN.1 多字节串转换堆溢出
  • CMS 口令解密越界读
  • PKCS#12 PBMAC1 接受短 HMAC 密钥
  • CMS_decrypt() / PKCS7_decrypt() 多 RecipientInfo 的 Bleichenbacher Oracle

可以看到 QUIC、CMS、OCSP 这几块从 6 月到现在是连续出问题的高频区。如果 3.6.3 那次没跟,这次别只按单个 CVE 评估,直接把两个批次一起排进升级窗口。

复制全文 生成海报 OpenSSL 安全 CVE TLS 运维

推荐文章

程序员茄子在线接单