OpenSSL 3.0.0 < 3.0.22 多种漏洞

high Nessus 插件 ID 339518

简介

远程服务受到多个漏洞的影响。

描述

远程主机上安装的 OpenSSL 版本低于 3.0.22。因此,该软件受到 3.0.22 公告中提及的多个漏洞影响。

- 问题摘要:OpenSSL CMP 基于密码的保护验证仅检查 protectionAlg 参数是否为非 NULL 且不是其 ASN.1 类型,便将其视为 PBMParameter。构建的消息可以包含不同类型的参数,然后该参数作为无效指针取消引用。影响汇总:
未经身份验证的远程攻击者可造成作为接受受 PBM 保护消息的 CMP 服务器的应用程序崩溃,或者使 CMP 客户端与恶意或遭到拦截的 CMP 服务器通信的应用程序崩溃,进而导致拒绝服务。CWE:CWE-476:空指针取消引用 描述:在验证 CMP 消息的基于密码的 MAC 保护时,OpenSSL 库会使用 X509_ALGOR_get0() 读取 protectionAlg 算法参数,从而同时返回参数类型及其值指针。然后,该值被转换为ASN1_STRING,并在仅检查该指针是否为空之后被视为预期的 PBMParameter。从未查阅 X509_ALGOR_get0() 返回的参数类型。这发生在保护验证期间,在计算任何 MAC 之前,因此无需了解 PBM 共享密码;唯一的先决条件是可以访问 PBM 验证。在服务器端,任何应用程序通过 OSSL_CMP_SRV_process_request() 建立接受受 PBM 保护的消息的 CMP 服务器进行访问,在客户端,通过针对恶意或路径上 (MITM) 服务器的 CMP 响应验证进行访问。可靠的后果是拒绝服务;没有内存泄露,没有受控制的内存写入,也没有代码执行路径。CMP 是应用程序必须显式启用的专用功能。FIPS 影响:无 作为 CMP 代码位于 FIPS 模块边界之外,此 CVE 不影响任何 FIPS 模块。(CVE-2026-63076)

- 问题摘要:通过调用 EVP_Cipher() 函数完成操作时,ChaCha20-Poly1305 和空密文的 AES-OCB 解密可在未验证提供的认证标签的情况下报告成功。影响汇总:在空密文上调用 EVP_Cipher() 并预期调用检查 AEAD 标签的应用程序可能接受伪造的消息。CWE:CWE-354(不当验证完整性检查值) 描述:AEAD 密码的 EVP_Cipher() API 调用行为类似一次性加密和解密调用。它还会在解密操作后验证 AEAD 标签。不过,对于 AES-OCB 和 ChaCha20-Poly1305 密码,如果将空密文传递到函数,就会跳过 AEAD 标签验证。此函数的调用者可能认为成功返回表示这些密码的 AEAD 标签有效,即使在此情况下尚未真正验证该标签。FIPS 影响:
不,4.0、3.6、3.5、3.4和3.0中的 FIPS 模块不受此 CVE 影响,因为受影响的算法不是 FIPS 认证的,因此未在 FIPS 模块中实现。(CVE-2026-75803)

- 问题摘要:OpenSSL 证书管理协议 (CMP) 缓存在 CMP 消息中发送的其他证书 (extraCert),但从不删除这些证书(例如,如果证书无效)。如果服务器频繁地重复使用OSSL_CMP_CTX,此 extraCerts 缓存可能会无限增加,恶意客户端可能会向 CMP 服务器发送请求,从而推动这种增长。影响汇总:如果 CMP 服务器在服务器进程的生命周期内重复使用单个OSSL_CMP_CTX,则如果恶意客户端重复发送包含唯一的额外证书的请求,则可能会发现无限内存增长,进而导致 OOM 情形。CWE:CWE-770:无限制或限制的资源分配 描述:如果远程用户向包含 extraCerts 列表的服务器发送 CMP 消息,而该消息被拒绝,则消息中的 extraCerts 仍保留在服务器上下文不受信任的证书堆栈中。这会将具有长期限 ctx 对象的服务器暴露给拒绝服务攻击,在这种攻击中,攻击者会发送意向重复添加大量附加证书的消息,从而强制服务器无限期地存储这些证书。已使用与将上下文配置为完全不执行缓存时相同的方法,如果消息被拒绝,通过删除添加的额外证书来修复此问题。FIPS 影响:
由于 CMP 代码位于 FIPS 模块边界之外,因此此 CVE 不会影响任何 FIPS 模块。
(CVE-2026-63074)

- 问题摘要:OpenSSL CMS 解密根据查询解包的密钥大小来调整 key-unwrap 输出缓冲区的大小,但 AES-WRAP-PAD 解包原语可以写入和清理比该查询报告更多的字节,从而造成 8 个字节的越界堆写入。影响汇总:提供特制 CMS 消息的攻击者可在受害者使用 CMS_decrypt() 解密消息时触发确定性的 8 字节越界堆写入,从而损坏堆并通常导致拒绝服务。CWE:CWE-787:越界写入 描述:密钥封装 OID 可能在线上受到攻击者控制。CMS 解包允许 id-aesNNN-wrap-pad 和 id-aesNNN-wrap 密码。攻击者可获取合法消息并更改单个 OID 字节以选择填充变量,同时保持消息在其他情况下有效。由于解包密钥派生自接收者的私人操作(ECDH 密钥协议或 ML-KEM 解封装),因此无法通过 RFC 5649 完整性检查,并且解密会因完整性失败而失败。写入操作是固定大小(8 字节)、固定值(零)堆溢出,紧接在分配之后,不需要特殊配置,可从公共 CMS_decrypt() 函数访问。结果是堆损坏,从而导致拒绝服务。CMS 代码中的补丁将解包输出缓冲区的大小设置为最坏的情况,因此失败的解包无法写入超出分配范围。FIPS 影响:否 由于 CMS 代码位于 FIPS 模块边界之外,因此没有任何 FIPS 模块受此 CVE 影响。(CVE-2026-63072)

- 问题摘要:在握手过程中接收未来 epoch 的 DTLS 记录会导致 OpenSSL 缓冲比记录本身所需的内存多得多。影响汇总:对等机可使用少量网络流量让 OpenSSL DTLS 端点保留不成比例的大量内存,这可能导致拒绝服务。CWE:CWE-405:非对称资源消耗(放大) 描述:在进行 DTLS 握手时,对等机可能在本地端点处理相同的转换之前就已合法地转到下一个 epoch(例如,已发送其 ChangeCipherSpec 和 Finished 消息),这通常是因为底层 UDP 传输上的重新排序所致。
OpenSSL 会缓冲此类早期记录,以便在本地端点赶上后可对其进行处理。
缓冲记录当前会保留其到达的整个读取缓冲区,其大小可容纳可能最大的 DTLS 记录(约 16 KB),而不仅仅是构成记录本身的字节。每个连接最多可缓冲 100 条此类记录。因此,发送一连串声称属于 epoch 的小型伪造记录流的对等体可造成 OpenSSL DTLS 端点保留 1.7 约兆字节的内存,即使通过网络发送的数据量仅为一小部分。因此,攻击者获得的内存放大因子约为 1200,并且能将效应倍增至多个关联,对 DTLS 服务器而言,这是一种远程内存耗尽拒绝服务风险。由于每个连接保留的内存保持限制,并且应用程序已对并发关联数设置的任何限制也会限制总风险暴露,因此此问题的严重性被评估为低危。FIPS 影响:无 FIPS 模块受到此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。OpenSSL 4.0、3.6、3.5、3.4、3.0、1.1.1 和 1.0.2 容易受此问题影响。OpenSSL 4.0 用户应升级到 OpenSSL 4.0.2。OpenSSL 3.6 用户应升级到 OpenSSL 3.6.4。OpenSSL 3.5 用户应升级到 OpenSSL 3.5.8。OpenSSL 3.4 用户应升级到 OpenSSL 3.4.7。OpenSSL 3.0 用户应升级到 OpenSSL 3.0.22。仅限高级支持客户: OpenSSL 1.1.1 用户应升级到 OpenSSL 1.1.1zi OpenSSL 1.0.2 用户应升级到 OpenSSL 1.0.2zr Amazon Web Services 于 2026 年 5 月 18 日报告了此问题。该补丁由 Matt Caswell 开发。-- 剪切(供内部使用的非发布元数据) -- 报告者:Amazon Web Services 修复者:Matt Caswell (CVE-2026-54874)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

升级到 OpenSSL 版本 3.0.22 或更高版本。

另见

https://openssl-library.org/news/secadv/20260825.txt

https://www.cve.org/CVERecord?id=CVE-2026-54874

https://www.cve.org/CVERecord?id=CVE-2026-63072

https://www.cve.org/CVERecord?id=CVE-2026-63074

https://www.cve.org/CVERecord?id=CVE-2026-63076

https://www.cve.org/CVERecord?id=CVE-2026-75803

http://www.nessus.org/u?143bdd0b

http://www.nessus.org/u?49dc703b

http://www.nessus.org/u?659deec2

http://www.nessus.org/u?c90e11a2

http://www.nessus.org/u?eac4598c

插件详情

严重性: High

ID: 339518

文件名: openssl_3_0_22.nasl

版本: 1.1

类型: Combined

代理: windows, macosx, unix

系列: Web Servers

发布时间: 2026/8/25

最近更新时间: 2026/8/25

配置: 启用全面检查 (optional)

支持的传感器: Nessus Agent, Continuous Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.3

百分位: 96.58

CVSS v2

风险因素: High

基本分数: 7.8

时间分数: 5.8

矢量: CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C

CVSS 分数来源: CVE-2026-63076

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 6.5

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

时间矢量: CVSS:3.0/E:U/RL:O/RC:C

漏洞信息

CPE: cpe:/a:openssl:openssl

必需的 KB 项: installed_sw/OpenSSL

易利用性: No known exploits are available

补丁发布日期: 2026/8/25

漏洞发布日期: 2026/8/25

参考资料信息

CVE: CVE-2026-54874, CVE-2026-63072, CVE-2026-63074, CVE-2026-63076, CVE-2026-75803