Oracle Linux 9:openssl / 和 / openssl-fips-provider (ELSA-2024-2447)

medium Nessus 插件 ID 195055

简介

远程 Oracle Linux 主机缺少一个或多个安全更新。

描述

远程 Oracle Linux 9 主机上安装的程序包受到 ELSA-2024-2447 公告中提及的多个漏洞的影响。

- 问题摘要:检查过长的无效 RSA 公钥可能需要很长时间。影响汇总:
使用函数 EVP_PKEY_public_check() 检查 RSA 公钥的应用程序可能会遇到长时间的延迟。如果正在检查的密钥来自不受信任的来源,可能会导致拒绝服务。当在 RSA 公钥上调用函数 EVP_PKEY_public_check() 时,会执行计算以确认 RSA 模数 n 为复合模数。对于有效的 RSA 密钥,n 是两个或更多大素数的乘积,此计算会快速完成。但是,如果 n 是过大的素数,则此计算将会花费很长时间。调用 EVP_PKEY_public_check() 并提供从不受信任的来源获取的 RSA 密钥的应用程序可能容易遭受拒绝服务攻击。EVP_PKEY_public_check() 函数不从其他 OpenSSL 函数调用,而是从 OpenSSL pkey 命令行应用程序调用。因此,在处理不受信任的数据时,如果使用“-pubin”和“-check”选项,应用程序也容易受到攻击。OpenSSL SSL/TLS 实现不受此问题影响。OpenSSL 3.0 和 3.1 FIPS 提供程序会受此问题影响。(CVE-2023-6237)

- 问题摘要:检查过长的 DH 密钥或参数时可能会非常缓慢。影响汇总:
使用函数 DH_check()、DH_check_ex() 或 EVP_PKEY_param_check() 检查 DH 密钥或 DH 参数的应用程序可能会遇到长时间的延迟。如果从不受信任的来源获取正在检查的密钥或参数,这可能导致拒绝服务。DH_check() 函数会对 DH 参数执行各种检查,修复 CVE-2023-3446 后,发现在执行部分此类检查期间,较大的 q 参数值也会触发超长计算。正确的 q 值(如果存在)不能大于模数 p 参数,因此如果 q 大于 p,则不必执行这些检查。调用 DH_check() 并提供从不受信任之来源获取的密钥或参数的应用程序可能容易遭受拒绝服务攻击。DH_check() 函数本身会被许多其他 OpenSSL 函数调用。调用任何其他函数的应用程序也可能会受到类似影响。受此影响的其他函数有 DH_check_ex() 和 EVP_PKEY_param_check()。
使用 -check 选项时,OpenSSL dhparam 和 pkeyparam 命令行应用程序容易受到攻击。OpenSSL SSL/TLS 实现不受此问题影响。OpenSSL 3.0 和 3.1 FIPS 提供程序不受此问题影响。(CVE-2023-3817)

- 问题摘要:POLY1305 MAC(消息验证代码)实现存在错误,如果 CPU 提供向量指令,该错误可能会损坏 PowerPC CPU 平台上运行的应用程序的内部状态。- 影响摘要:如果攻击者可对是否使用 POLY1305 MAC 算法产生影响,则应用程序状态可能会被破坏,同时还会产生与应用程序相关的各种后果。OpenSSL for PowerPC CPU 中的 POLY1305 MAC(消息验证代码)实现会以不同于保存时的顺序恢复向量寄存器的内容。因此,在返回调用程序时,某些向量寄存器的内容会遭到破坏。易受攻击的代码仅可在支持 PowerISA 2.07 指令的新版 PowerPC 处理器上使用。这种内部应用程序状态损坏的后果可能多种多样,可能是没有任何后果(如果调用应用程序根本不依赖于非易失性 XMM 寄存器中的内容),也可能是最糟糕的后果(攻击者可以完全控制应用程序进程。然而,除非编译器用户使用向量寄存器存储指针,否则最可能出现的结果(如有)就是:与应用程序相关的错误计算结果或导致拒绝服务的崩溃情形。POLY1305 MAC 算法最常用作 CHACHA20-POLY1305 AEAD(含有相关数据,且经验证的加密模式)算法的一部分。此 AEAD 密码最常见的用途是与 1.2 和 1.3 版本的 TLS 协议一起使用。如果服务器上启用了此密码,恶意客户端可以影响是否使用此 AEAD 密码。
这意味着使用 OpenSSL 的 TLS 服务器应用程序可能会受到影响。然而,我们目前并未发现任何具体的应用程序会受到此问题的影响,因此我们认为这是一个低危安全问题。(CVE-2023-6129)

- 问题摘要:处理恶意格式化的 PKCS12 文件可能导致 OpenSSL 崩溃,进而造成潜在的拒绝服务攻击;影响汇总:从不受信任来源加载 PKCS12 格式文件的应用程序可能会突然终止。PKCS12 格式的文件可能包含证书和密钥,并可能来自不受信任的来源。PKCS12 规范允许特定字段为空,但 OpenSSL 未正确检查这种情况。这可能会导致空指针取消引用,进而造成 OpenSSL 崩溃。如果应用程序使用 OpenSSL API 处理来源不受信任的 PKCS12 文件,则该应用程序将很容易受到此问题的影响。存在此漏洞的 OpenSSL API 包括:
PKCS12_parse()、PKCS12_unpack_p7data()、PKCS12_unpack_p7encdata()、PKCS12_unpack_authsafes() 和 PKCS12_newpass()。我们也修复了 SMIME_write_PKCS7() 中存在的类似问题。但是,由于此函数与写入数据有关,我们认为它不会对安全性造成重大影响。3.2、3.1 和 3.0 中的 FIPS 模块不受此问题影响。(CVE-2024-0727)

- 问题摘要:AES-SIV 加密实现中有一个缺陷,会造成其忽略空的关联数据条目,并因而不会对这些项目进行验证。- 影响摘要:使用 AES-SIV 算法并希望将空数据条目认证为关联数据的应用程序可能会因删除、添加或重新排序此类空条目而受到误导,因为这些会被 OpenSSL 实现忽略。我们目前未发现任何此类应用程序。AES-SIV 算法允许在加密的同时对多个相关数据条目进行验证。要对空数据进行验证,应用程序必须调用 EVP_EncryptUpdate()(或 EVP_CipherUpdate()),并将空指针作为输出缓冲区,将 0 作为输入缓冲区长度。OpenSSL 中的 AES-SIV 实现仅会针对此类调用返回成功,而不是执行相关联的数据认证操作。因此,不会对空数据进行认证。由于此问题不影响非空关联数据认证,而且我们预计应用程序很少会使用空关联数据条目,因此将此问题定为“低危”问题。(CVE-2023-2975)

- 问题摘要:生成过长的 X9.42 DH 密钥或检查过长的 X9.42 DH 密钥或参数时可能会非常缓慢。影响汇总:使用函数 DH_generate_key() 生成 X9.42 DH 密钥的应用程序可能会遇到长时间的延迟。同样,使用 DH_check_pub_key()、DH_check_pub_key_ex() 或 EVP_PKEY_public_check() 检查 X9.42 DH 密钥或 X9.42 DH 参数的应用程序可能会遇到长时间的延迟。如果从不受信任的来源获取正在检查的密钥或参数,这可能导致拒绝服务。虽然 DH_check() 会执行所有必要的检查(自 CVE-2023-3817 起),但 DH_check_pub_key() 并不进行任何此类检查,因此容易受到过大 P 和 Q 参数的影响。同样,虽然 DH_generate_key() 会对过大的 P 参数执行检查,但它不会检查过大的 Q 参数。调用 DH_generate_key() 或 DH_check_pub_key(),并提供从不受信任之来源获取的密钥或参数的应用程序可能容易遭受拒绝服务攻击。DH_generate_key() 和 DH_check_pub_key() 也会被许多其他 OpenSSL 函数调用。调用任何其他函数的应用程序也可能会受到类似影响。受此影响的其他函数有 DH_check_pub_key_ex()、EVP_PKEY_public_check() 和 EVP_PKEY_generate()。使用 -pubcheck 选项时的 OpenSSL pkey 命令行应用程序,以及 OpenSSL genpkey 命令行应用程序均容易受到攻击。
OpenSSL SSL/TLS 实现不受此问题影响。OpenSSL 3.0 和 3.1 FIPS 提供程序不受此问题影响。(CVE-2023-5678)

- 问题摘要:检查过长的 DH 密钥或参数时可能会非常缓慢。影响汇总:
使用函数 DH_check()、DH_check_ex() 或 EVP_PKEY_param_check() 检查 DH 密钥或 DH 参数的应用程序可能会遇到长时间的延迟。如果从不受信任的来源获取正在检查的密钥或参数,这可能导致拒绝服务。DH_check() 函数会对 DH 参数执行各种检查,其中一项检查会确认模数('p' 参数)不是太大。尝试使用非常大的模数时速度会很慢,且 OpenSSL 通常不会使用长度超过 10,000 位的模数。但是,DH_check() 函数会检查已提供密钥或参数的多个方面。即使发现提供的模数值过大,其中某些检查也会使用提供的模数值。调用 DH_check() 并提供从不受信任之来源获取的密钥或参数的应用程序可能容易遭受拒绝服务攻击。DH_check() 函数本身会被许多其他 OpenSSL 函数调用。调用任何其他函数的应用程序也可能会受到类似影响。受此影响的其他函数有 DH_check_ex() 和 EVP_PKEY_param_check()。使用“-check”选项时,OpenSSL dhparam 和 pkeyparam 命令行应用程序容易受到攻击。OpenSSL SSL/TLS 实现不受此问题影响。OpenSSL 3.0 和 3.1 FIPS 提供程序不受此问题影响。(CVE-2023-3446)

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2024-2447.html

插件详情

严重性: Medium

ID: 195055

文件名: oraclelinux_ELSA-2024-2447.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2024/5/6

最近更新时间: 2024/5/6

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 5.0

CVSS v2

风险因素: Medium

基本分数: 6.1

时间分数: 4.5

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

CVSS 分数来源: CVE-2023-6129

CVSS v3

风险因素: Medium

基本分数: 6.5

时间分数: 5.7

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

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

漏洞信息

CPE: cpe:/a:oracle:linux:9:4:appstream_base, cpe:/a:oracle:linux:9::appstream, cpe:/o:oracle:linux:9, cpe:/o:oracle:linux:9:4:baseos_base, cpe:/o:oracle:linux:9::baseos_latest, p-cpe:/a:oracle:linux:openssl, p-cpe:/a:oracle:linux:openssl-devel, p-cpe:/a:oracle:linux:openssl-fips-provider, p-cpe:/a:oracle:linux:openssl-libs, p-cpe:/a:oracle:linux:openssl-perl

必需的 KB 项: Host/local_checks_enabled, Host/RedHat/release, Host/RedHat/rpm-list, Host/OracleLinux

易利用性: No known exploits are available

补丁发布日期: 2024/5/3

漏洞发布日期: 2023/7/7

参考资料信息

CVE: CVE-2023-2975, CVE-2023-3446, CVE-2023-3817, CVE-2023-5678, CVE-2023-6129, CVE-2023-6237, CVE-2024-0727

IAVA: 2023-A-0398-S, 2024-A-0121-S