描述
远程主机上安装的 OpenSSL 版本低于 3.0.20。因此,该软件受到 3.0.20 公告中提及的多个漏洞影响。
- 问题摘要将过大的 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.3.7 中修复(影响 3.3.0 之前的版本)。(CVE-2026-31789)
- 问题摘要:使用 RSASVE 密钥封装来建立秘密加密密钥的应用程序可将未初始化内存缓冲区的内容发送给恶意对等机。影响摘要未初始化的缓冲区可能包含之前执行应用程序进程产生的敏感数据可能会导致将敏感数据泄露给攻击者。RSA_public_encrypt() 成功时返回写入的字节数出错时返回 -1。受影响的代码仅测试返回值是否为非零。因此,如果 RSA 加密失败, 封装仍可向调用程序返回成功消息、设置输出长度,并使调用程序使用加密文本缓冲区的内容,就像已生成有效的 KEM 加密文本一样。如果应用程序在攻击者提供的无效 RSA 公钥上将 EVP_PKEY_encapsulate() 与 RSA/RSASVE 一起使用而不首先验证该密钥这可能导致将调用程序提供的密码文本缓冲区的过时或未初始化内容而不是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.3.7 中修复(影响 3.3.0 之前的版本)。(CVE-2026-31790)
- 问题摘要在处理包含 KeyTransportRecipientInfo 的构建的 CMS EnvelopedData 消息期间可能会发生空指针取消引用。影响摘要处理攻击者控制的 CMS 数据的应用程序可能会在身份验证或加密操作发生前崩溃从而导致拒绝服务。
当处理使用具有 RSA-OAEP 加密的 KeyTransportRecipientInfo 的 CMS EnvelopedData 消息时将检查 RSA-OAEP SourceFunc 算法标识符的可选参数字段而不会检查其是否存在。如果缺少字段这将导致空指针取消引用。
在不受信任的输入例如 S/MIME 处理或基于 CMS 的协议上调用 CMS_decrypt() 的应用程序和服务容易受到攻击。 3.6、 3.5、 3.4、 3.3 和 3.0 中的 FIPS 模块不受此问题的影响因为受影响的代码在 OpenSSL FIPS 模块边界之外。已在 OpenSSL 3.3.7 中修复(影响 3.3.0 之前的版本)。(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 3.3.7 中修复(影响 3.3.0 之前的版本)。(CVE-2026-28389)
- 问题摘要:处理包含增量 CRL 指标扩展的增量 CRL 时,如果缺少所需的 CRL 编号扩展,可能会发生空指针取消引用。影响摘要空指针取消引用可触发崩溃导致应用程序拒绝服务。如果在 X.509 证书验证期间启用了 CRL 处理和增量 CRL 处理则增量 CRL 处理在取消引用 CRL 编号扩展之前不会检查该扩展是否为空。当处理畸形 delta CRL 文件时此参数可能为 NULL从而导致空指针取消引用。要利用此问题需要在验证上下文中启用 X509_V_FLAG_USE_DELTAS 标记、要对证书进行验证以包含 freshestCRL 扩展或设置了 EXFLAG_FRESHEST 标记的基本 CRL并且攻击者要向处理 CRL 的应用程序提供畸形的 CRL。该漏洞仅限于造成拒绝服务,并且无法升级以实现代码执行或内存泄露。因此,根据我们的安全策略,将此漏洞评为“低危”问题。 3.6、 3.5、 3.4、 3.3 和 3.0 中的 FIPS 模块不受此问题的影响因为受影响的代码在 OpenSSL FIPS 模块边界之外。已在 OpenSSL 3.3.7 中修复(影响自 3.3.0 以来的版本)。
(CVE-2026-28388)
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
升级到 OpenSSL 版本 3.0.20 或更高版本。
插件详情
代理: windows, macosx, unix
配置: 启用全面检查 (optional)
支持的传感器: Nessus Agent, Continuous Assessment, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/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