OpenSSL 1.1.1 < 1.1.1zh 多个漏洞

high Nessus 插件 ID 320139

简介

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

描述

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

- 问题摘要:特制的密码加密 CMS 消息可在 CMS 解密期间触发空指针解引用。影响摘要:空指针解引用会导致应用程序崩溃和拒绝服务。CMS PasswordRecipientInfo.keyDerivationAlgorithm 字段在 ASN.1 规范中定义为 OPTIONAL,因此在特制的输入中可能缺失。在基于密码的 CMS 解密期间,OpenSSL CMS 实现在未检查此字段是否存在的情况下,解引用此字段。将此类 CMS 消息提供给执行基于密码的 CMS 解密的应用程序的攻击者可触发应用程序崩溃,从而导致拒绝服务。处理密码加密 CMS 消息的应用程序可能会受到影响。4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-42766)

- 问题摘要:在 ASN1_mbstring_ncopy() 中为 Unicode 输出调整目标缓冲区大小时发生的带符号整数溢出,可导致堆缓冲区溢出。影响摘要:堆缓冲区溢出可能导致崩溃,或可能导致攻击者控制代码执行或其他未定义的行为。在 ASN1_mbstring_copy() 和 ASN1_mbstring_ncopy() 中,Unicode 输出的目标大小以带符号的 int 计算得出:左移 BMPSTRING (UTF-16) 和 UNIVERSALSTRING (UTF-32) 的输入字符计数,并对 UTF8STRING 每个字符的字节数进行求和。当输入达到约 2^30 个字符时,计算将溢出。在最坏的情况下(2^30 个字符的 UNIVERSALSTRING),大小值会回绕为零,调用 OPENSSL_malloc(1),后续的字符复制操作将在一字节分配空间之外写入数 GB 的数据。X.509 证书处理通过 ASN1_STRING_set_by_NID() 路由,其 DIRSTRING_TYPE 掩码排除 UNIVERSALSTRING,且每个 NID 对应的长度限制约束了输入长度上限;OpenSSL 中没有任何网络协议或证书处理路径执行该溢出。触发该缺陷需要应用程序直接调用 ASN1_mbstring_copy() 或 ASN1_mbstring_ncopy(),或通过 ASN1_STRING_TABLE_add() 注册自定义字符串类型,并处理攻击者可控的、具有半 GB 或更大量级的输入数据。出于这些原因,我们将该问题的严重性定为低危。4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-7383)

- 问题摘要:当 CMS 基于密码的解密(RFC 3211 / PWRI 密钥解包)处理攻击者提供的 CMS 数据时,攻击者选择的流模式 KEK 密码可在 kek_unwrap_key() 中触发堆越界读取。影响汇总:堆缓冲区过度读取可触发崩溃,如果输入缓冲区以内存页面边界结束,且后续页面未映射,则可能导致应用程序拒绝服务。不会泄露信息,因为过度读取字节不会泄露给攻击者。密钥解包功能执行 RFC 中指定的检查字节测试,该测试从基于消息中封装的密钥长度的堆分配中读取 7 字节。存在基于封装密码的块长度的最小长度检查。但是,该密码是从攻击者的 PWRI keyEncryptionAlgorithm 中携带的 OID 中选择的,且不要求该密码是块密码。当攻击者选择流模式密码时,防护措施将失效,且含有解包密钥的分配缓冲区可能太小,无法符合 RFC 中指定的检查字节,因此可能会发生缓冲区过度读取。调用不受信任的 CMS 数据中的 CMS_decrypt() 或 CMS_decrypt_set1_password() 的应用程序(等同于 openssl cms
-解密 -pwri_password ...)容易受到此问题的影响。无需密码知识:在任何认证成功之前,都会在尝试解包期间发生越界读取。越界读取受限于几个字节,并且不会写入输出,因此不会泄露信息。
触发崩溃需要向边界未映射内存进行分配,而普通分配器不太可能出现此情况。FIPS 模块不受此问题影响。(CVE-2026-9076)

- 问题摘要:特别构建 PKCS#7 消息或 S/MIME 带符号消息可在签名验证期间 PKCS#7 触发释放后使用。影响汇总:释放后使用可能会导致进程崩溃、堆损坏,或可能造成远程代码执行。当处理 PKCS#7 消息或 S/MIME 带符号消息时,如果 SignedData digestAlgorithms 字段以空 ASN.1 SET 的形式存在,则 OpenSSL 可能会在 PKCS7_verify() 期间错误地释放调用程序拥有的 BIO。调用应用程序随后对 BIO 的使用会导致释放后使用情况。在常见情况下,应用程序稍后对最初传递给 PKCS7_verify() 的 BIO 调用 BIO_free() 时,会发生此情况。这可能会导致崩溃或其他内存损坏,具体取决于分配器行为和应用程序特定的 BIO 使用模式。在某些应用程序上下文中,此问题可能被利用于远程代码执行。使用 OpenSSL PKCS#7 API 处理消息或 S/MIME 带符号消息的PKCS#7应用程序可能会受到影响。将 CMS API 用于此处理的应用程序不受影响。4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-45447)

- 问题摘要:解析原始元素内容长度超过 2 GB 且经过 DER 编码构建的 ASN.1 结构可在 64 位 Unix 和类 Unix 平台上造成堆缓冲区越界读取。
影响汇总:堆缓冲区越界读取可能会导致应用程序崩溃(拒绝服务),或将内存中经解码的 ASN.1 对象内容加载到超出输入缓冲区末端的位置。更典型的是,此类 ASN.1 元素会被截断。OpenSSL 的 ASN.1 解码器中的整数截断导致 ASN.1 原始元素的内容长度在超过 2 GB 时被错误处理。在最严重的情况下,截断长度被视为扫描终止零字节的二进制内容的请求,可能导致 OpenSSL 读取小于或超出所分配缓冲区末端的位置。将攻击者提供的数据传递到 d2i_X509()、d2i_PKCS7() 或任何其他 d2i_* 解码函数的应用程序会受到影响。
OpenSSL 自带的命令行工具不易受到影响,因为通过 BIO 层读取的数据在到达受影响的代码前已受到检查。该问题仅影响 64 位 Unix 和类 Unix 平台;32 位平台和 64 位 Windows 不受影响。4.0、3.6、3.5、3.4 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。(CVE-2026-34180)

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

解决方案

升级到 OpenSSL 版本 1.1.1zh 或更高版本。

另见

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

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

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

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

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

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

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

插件详情

严重性: High

ID: 320139

文件名: openssl_1_1_1zh.nasl

版本: 1.4

类型: Combined

代理: windows, macosx, unix

系列: Web Servers

发布时间: 2026/6/9

最近更新时间: 2026/6/12

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

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

风险信息

VPR

风险因素: High

分数: 7.6

百分位: 98.47

CVSS v2

风险因素: Medium

基本分数: 4.3

时间分数: 3.2

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

CVSS 分数来源: CVE-2026-42766

CVSS v3

风险因素: High

基本分数: 8.8

时间分数: 7.7

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

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

CVSS 分数来源: CVE-2026-45447

漏洞信息

CPE: cpe:/a:openssl:openssl

必需的 KB 项: installed_sw/OpenSSL

易利用性: No known exploits are available

补丁发布日期: 2026/6/9

漏洞发布日期: 2026/6/9

参考资料信息

CVE: CVE-2026-34180, CVE-2026-42766, CVE-2026-45447, CVE-2026-7383, CVE-2026-9076

IAVA: 2026-A-0589