OpenSSL 在 9 月 29 日发布修复时表示,一个高严重性的 OpenSSL 漏洞可能会导致堆内存泄漏到 DTLS 连接的另一端或导致程序崩溃。
DTLS 是用于 UDP 流量的 TLS 变体,如果在计时器到期之前没有收到回复,它会重新发送握手消息。当在发送较大的握手消息的过程中卡住时,重新发送可能会导致泄漏或崩溃。
该漏洞被跟踪为 CVE-2026-84782,已在 OpenSSL 4.0.3、3.6.5、3.5.9 和 3.4.8 中修复。对于较旧的 3.0、1.1.1 和 1.0.2 分支的修复版本仅提供给支付 OpenSSL 高级支持的客户。OpenSSL 3.0 于 9 月 7 日停止获得公共安全修复。
OpenSSL 尚未说明攻击者是否可以在消息卡住时导致重新发送,也没有报告任何利用该漏洞的攻击。
DTLS 被用于保护 WebRTC 数据通道和为互联网通话设置加密密钥。只有在使用 OpenSSL 进行 DTLS 的情况下,软件才会暴露于此漏洞。
DTLS 将大的握手消息分割成适合一个 UDP 数据报的片段。如果连接此时无法接受更多数据,则发送可能会在消息的一部分中暂停,并稍后继续。在发送暂停期间,重新发送计时器仍然可以触发并再次发送早期消息。
在修复之前,重新发送使用了暂停消息在缓冲区中的位置,而不是回到被重新发送消息的开头。重新发送的消息带有错误的标签。其主体是较大消息中的剩余字节,读取它可能会导致缓冲区溢出。
根据 OpenSSL,错误标记的消息可以将堆内存作为未加密的握手数据传递到另一端。如果读取达到未映射的内存,程序将崩溃。
OpenSSL 并不将该漏洞限制于 DTLS 客户端或服务器,其修复在这两种角色中均经过测试。
Secorizon 的 Laurent Gaffie 于 8 月 17 日报告了该漏洞,Ryan Hooper 开发了修复。
OpenSSL 将该漏洞评为高,严重性等级低于关键。该项目的安全政策建议尽快安装高修复的更新。
CISA 在 9 月 29 日给该漏洞的 CVSS 评分为 8.2(满分 10),评估其对机密性的影响为低,对可用性的影响为高。CISA 的记录在当时列出了利用情况为“无”。OpenSSL 不使用 CVSS 来设定其严重性评级,并表示外部机构的评分可能与其严重性评级大相径庭。
Ubuntu 的安全通知表示,攻击者可能利用该漏洞导致“错误的握手行为或拒绝服务”。它没有提到内存泄漏。
修复漏洞的版本
该漏洞影响 OpenSSL 4.0、3.6、3.5、3.4、3.0、1.1.1 和 1.0.2,在下方显示的修复版本之前的每个版本。
分支
修复版本
谁可以获取
支持状态
4.0
4.0.3
公共下载
支持到 2027 年 5 月 14 日
3.6
3.6.5
公共下载
支持到 2026 年 11 月 1 日
3.5
3.5.9
公共下载
长期支持版本,支持到 2030 年 4 月 8 日
3.4
3.4.8
公共下载
支持到 2026 年 10 月 22 日
3.0
3.0.23
仅限高级支持客户
公共支持于 2026 年 9 月 7 日结束
1.1.1
1.1.1zj
仅限高级支持客户
无公共支持
1.0.2
1.0.2zs
仅限高级支持客户
无公共支持
3.1、3.2、3.3
无列出
不适用
无公共支持。OpenSSL 没有检查这些分支是否受到影响。
OpenSSL 没有为尚未更新的用户列出任何解决方法。Ubuntu 在 9 月 29 日在其自己的软件包中修复了该漏洞,这些软件包保留了较旧的 OpenSSL 版本号:
Ubuntu 26.04 LTS: libssl3t64 3.5.5-1ubuntu3.6
Ubuntu 24.04 LTS: libssl3t64 3.0.13-0ubuntu3.16
Ubuntu 22.04 LTS: libssl3 3.0.2-0ubuntu1.30
Ubuntu 用户在更新后需要重启以使所有更改生效。
Debian 在其 openssl 包的版本 3.5.7-1~deb13u3 中修复了 Debian 13 的漏洞,该版本作为 DSA-6531-1 发布。其安全跟踪器在 9 月 30 日 07:36 UTC 仍列出 Debian 12 为易受攻击。
OpenSSL 3.0 用户可以做什么
最后一个公共 3.0 版本是 8 月 25 日发布的 3.0.22。版本 3.0.23 是 OpenSSL 尚未公开的第一个 3.0 安全版本。它修复了 9 月 29 日披露的 14 个漏洞中的 6 个,包括 CVE-2026-84782。
对于使用 OpenSSL 3.0 的 Ubuntu 22.04 和 24.04,修复已经在上述软件包中提供。任何构建 OpenSSL 3.0 或在其自己的软件中分发副本的人都没有来自 OpenSSL 的公共修复。
OpenSSL 建议升级到较新的分支,例如 4.0 或长期支持版本 3.5。另一种选择是付费支持合同,这可以在公共结束日期之后持续获得安全修复。
9 月 29 日的发布修复了其他 13 个漏洞。其中最严重的 CVE-2026-84783 被评为中等,仅影响 OpenSSL 4.0。
一个远程的、未经过身份验证的对等方可以利用它来崩溃一个多线程的 TLS 客户端,或一个请求客户端证书的多线程 TLS 服务器。只有在多个连接同时构建其第一个证书链到同一个受信任的 CA 证书时,这种情况才会发生。
另一个 DTLS 漏洞 CVE-2026-75806 被评为低。它影响使用 AEAD 密码套件的已建立的 DTLS 1.2 连接。任何可以向这样的连接发送数据报的人都可以通过发送一个过短的数据报来结束连接,而无需知道任何密钥。
其他 11 个漏洞也被评为低,包括 OpenSSL 的 QUIC 代码中的 5 个和 ECDSA 和 SM2 代码中的 3 个时序侧信道。
觉得这篇文章有趣吗?请在 Google 新闻、Twitter 和 LinkedIn 上关注我们,以阅读更多我们发布的独家内容。