描述
远程主机上安装的 OpenSSL 版本低于 3.5.6。因此,该软件受到 3.5.6 公告中提及的多个漏洞影响。
- 问题摘要:当 OpenSSL TLS 1.3 服务器的密钥交换群组配置通过使用“DEFAULT”关键字包含默认值时,该服务器可能无法协商出预期的首选密钥交换群组。影响摘要:即使客户端和服务器均支持某个更优选群组,但如果该群组未包含在客户端的初始预测密钥共享范围中,客户端可能会使用优先级较低的密钥交换群组。这种情况有时会发生在新的混合后量子群组中。如果客户端选择推迟到服务器发出特别请求后再使用这些群组,就会发生此情况。如果 OpenSSL TLS 1.3 服务器的配置使用“DEFAULT”关键字将内置的默认群组列表内插到其自有配置中,可能会添加或删除特定元素,则实现缺陷会导致“DEFAULT”列表丢失其“元组”结构,并且所有服务器支持的群组都会被视为单一且足够安全的“元组”,即使更优选元组中的某个群组同时得到服务器与客户端的支持,服务器也不会发送 Hello 重试请求 (HRR)。因此,如果客户端的配置导致客户端初始共享密钥预测范围中仅包含“classical”组(例如“X25519”),则客户端和服务器可能无法协商出一个双方都支持的后量子密钥协议群组,例如“X25519MLKEM768”。
OpenSSL 3.5 和更高版本均支持使用新语法,来在 TLS 服务器上选择最优选的 TLS 1.3 密钥协议群组。旧语法具有单一“扁平”群组列表,并将所有受支持的群组视为足够安全。如果客户端预测的任何密钥共享范围得到服务器的支持,服务器便会从中选择最优密钥共享范围,即使客户端支持但未包含在预测密钥共享列表中的其他群组更优选(如果包含)。新语法将各个群组分成具有大致相同安全级别的不同“元组”。在每个元组中,客户端预测的密钥共享范围中包含的最优群组已被选中,但如果客户端支持来自更优选元组中的群组,但未预测任何相应的密钥共享范围,则服务器将要求客户端使用最合双方意愿且受支持的群组来重试 ClientHello(通过发出 Hello 重试请求,简称 HRR)。当服务器的配置使用内置默认群组列表,或通过直接定义各种所需群组和群组“元组”来明确定义其自己的列表时,上述机制按预期方式工作。任何 OpenSSL FIPS 模块均不受此问题影响,有问题的代码位于 FIPS 边界之外。
OpenSSL 3.6 至 3.5 容易受此问题影响。OpenSSL 3.6 用户应在发布 OpenSSL 3.6.2 后升级到该版本。OpenSSL 3.5 用户应在发布 OpenSSL 3.5.6 后升级到该版本。OpenSSL 3.4、3.3、3.0、1.0.2 和 1.1.1 不受此问题影响。(CVE-2026-2673)
- 问题摘要:使用 RSASVE 密钥封装来建立私密加密密钥的应用程序可将未初始化内存缓冲区中的内容发送给恶意对等机。影响摘要:未初始化的缓冲区可能包含上次执行应用程序进程所产生的敏感数据,从而导致敏感数据泄漏给攻击者。RSA_public_encrypt() 函数会在成功执行时返回写入的字节数,出错时则返回 -1。受影响的代码只会测试返回值是否为非零值。因此,如果 RSA 加密失败,封装函数仍可向调用者返回成功、设置输出长度,并让调用者使用加密文本缓冲区的内容,就如同已经生成有效的 KEM 加密文本一样。如果应用程序在使用 RSA/RSASVE 调用 EVP_PKEY_encapsulate() 时,使用了由攻击者提供的无效 RSA 公钥而未事先对其进行验证,则可能导致调用者提供的加密文本缓冲区中过时或未初始化的内容泄露给攻击者,从而代替 KEM 密文。在调用 EVP_PKEY_encapsulate() 之前调用 EVP_PKEY_public_check() 或 EVP_PKEY_public_check_quick(),此变通方案可缓解此问题。3.6、3.5、3.4、3.3、3.1 和 3.0 中的 FIPS 模块受此问题影响。
已在 OpenSSL 3.0.20 中修复(影响 3.0.0 之前的版本)。(CVE-2026-31790)
- 问题摘要:将过大的 OCTET STRING 值转换为十六进制字符串,可导致在 32 位平台上发生堆缓冲区溢出。影响摘要:堆缓冲区溢出可能导致崩溃,或可能导致攻击者控制代码执行或其他未定义的行为。如果攻击者可以在要转换为十六进制的主题密钥标识符 (SKID) 或颁发机构密钥标识符 (AKID) 等扩展中,提供具有过大 OCTET STRING 值的特制 X.509 证书,则以输入长度乘以 3,来计算结果所需的缓冲区大小。在 32 位平台上,此乘法可能会发生溢出,从而导致分配较小的缓冲区和堆缓冲区溢出。打印或记录不受信任 X.509 证书内容的应用程序和服务容易受到此问题影响。由于证书的大小必须超过 1 GB,因此打印或记录此类证书的操作极为罕见,并且只有 32 位平台会受到影响,因此我们将此问题的严重性指定为“低危”。3.6、3.5、3.4、3.3 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。已在 OpenSSL 3.0.20 中修复(影响 3.0.0 之前的版本)。(CVE-2026-31789)
- 问题摘要:在处理包含 KeyTransportRecipientInfo 的构建 CMS EnvelopedData 消息期间,可能会发生空指针取消引用。影响摘要:处理由攻击者控制的 CMS 数据的应用程序可能会在身份验证或加密操作发生之前崩溃,从而造成拒绝服务。
当处理使用 KeyTransportRecipientInfo 与 RSA-OAEP 加密的 CMS EnvelopedData 消息时,系统会在未检查其是否存在的情况下,检查 RSA-OAEP SourceFunc 算法标识符中的可选参数字段。如果该字段缺失,这将导致空指针取消引用。
在不受信任的输入(例如 S/MIME 处理或基于 CMS 的协议)上调用 CMS_decrypt() 的应用程序和服务容易受到影响。3.6、3.5、3.4、3.3 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。已在 OpenSSL 1.1.1zg 中修复(影响 1.1.1 之前的版本)。(CVE-2026-28390)
- 问题摘要:在处理包含 KeyAgreeRecipientInfo 的构建 CMS EnvelopedData 消息期间,可能会发生空指针取消引用。影响摘要:处理由攻击者控制的 CMS 数据的应用程序可能会在身份验证或加密操作发生之前崩溃,从而造成拒绝服务。当处理使用 KeyAgreeRecipientInfo 的 CMS EnvelopedData 消息时,系统会在未检查其是否存在的情况下,检查 KeyEncryptionAlgorithmIdentifier 的可选参数字段。如果该字段缺失,这将导致空指针取消引用。在不受信任的输入(例如 S/MIME 处理或基于 CMS 的协议)上调用 CMS_decrypt() 的应用程序和服务容易受到影响。3.6、3.5、3.4、3.3 和 3.0 中的 FIPS 模块不受此问题的影响,因为受影响的代码位于 OpenSSL FIPS 模块边界之外。已在 OpenSSL 1.1.1zg 中修复(影响 1.1.1 之前的版本)。(CVE-2026-28389)
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
升级到 OpenSSL 版本 3.5.6 或更高版本。
插件详情
代理: windows, macosx, unix
配置: 启用全面检查 (optional)
支持的传感器: Continuous Assessment, Nessus Agent, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:N/A:N
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
时间矢量: CVSS:3.0/E:U/RL:O/RC:C
漏洞信息
CPE: cpe:/a:openssl:openssl
必需的 KB 项: installed_sw/OpenSSL
易利用性: No known exploits are available