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-75803:EVP_Cipher() 处理空密文时,AEAD 认证可被伪造;同一处修复还覆盖了 CCM 模式空密文的认证标签校验。凡是自己直接调 EVP_Cipher() 而不是走 EVP_DecryptUpdate/Final 封装的后端代码,需要重点确认——空密文边界以前没被当成错误处理。
该升到哪个版本
| 当前分支 | 升到 |
|---|---|
| 4.0 | 4.0.2 |
| 3.6 | 3.6.4 |
| 3.5 | 3.5.8 |
| 3.4 | 3.4.7 |
| 3.0 | 3.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 评估,直接把两个批次一起排进升级窗口。