Amazon Linux 2:edk2 (ALAS-2024-2502)

critical Nessus 插件 ID 192206

简介

远程 Amazon Linux 2 主机缺少安全更新。

描述

因此,它受到 ALAS2-2024-2502 公告中提及的多个漏洞影响。

- X.509 GeneralName 类型是表示不同名称类型的泛型类型。在这些名称类型中,有一种被称为 EDIPartyName。OpenSSL 提供函数 GENERAL_NAME_cmp,用于比较 GENERAL_NAME 的不同实例,以判断它们是否相等。当两个 GENERAL_NAME 都包含 EDIPARTYNAME 时,此函数的行为不正确。可能会发生空指针取消引用和崩溃,从而可能导致拒绝服务攻击。OpenSSL 本身将 GENERAL_NAME_cmp 函数用于两个目的:1) 比较可用 CRL 和 X509 证书中嵌入的 CRL 分发点之间的 CRL 分发点名称;2) 当验证时间戳记响应令牌签名者与时间戳授权名称是否匹配时(通过 API 函数 TS_RESP_verify_response 和 TS_RESP_verify_token 暴露),如果攻击者可以控制正在比较的两个项目,则攻击者可能会导致崩溃。例如,如果攻击者可以诱骗客户端或服务器,使其针对恶意 CRL 检查恶意证书,就有可能会发生这种情况。请注意,某些应用程序根据证书中嵌入的 URL 自动下载 CRL。此检查发生在验证证书和 CRL 上的签名之前。
OpenSSL 的 s_server、s_client 和验证工具支持实现自动 CRL 下载的 -crl_download 选项,且已证实此攻击对这些工具有效。请注意,一个不相关的缺陷意味着受影响的 OpenSSL 版本无法解析或构建 EDIPARTYNAME 的正确编码。但是,可以构造 OpenSSL 的解析器会接受的畸形 EDIPARTYNAME,从而触发此攻击。所有 OpenSSL 1.1.1 和 1.0.2 版本都受此问题影响。
其他 OpenSSL 版本不受支持并且未经检查。已在 OpenSSL 1.1.1i 中修复(影响 1.1.1-1.1.1h)。已在 OpenSSL 1.0.2x 中修复(影响 1.0.2-1.0.2w)。(CVE-2020-1971)

- 在某些情况下,当输入长度接近平台上整数的最大允许长度时,对 EVP_CipherUpdate、EVP_EncryptUpdate 和 EVP_DecryptUpdate 的调用可能会导致输出长度参数溢出。在此类情况下,函数调用的返回值将为 1(表示成功),但输出长度值将为负。这可导致应用程序行为不正确或崩溃。
OpenSSL 1.1.1i 及之前的版本受此问题影响。这些版本的用户应升级至 OpenSSL 1.1.1j。OpenSSL 1.0.2x 及之前的版本受此问题影响。但 OpenSSL 1.0.2 已不受支持,且无法再接收公共更新。OpenSSL 1.0.2 的高级支持客户应升级至 1.0.2y。其他用户应升级至 1.1.1j。已在 OpenSSL 1.1.1j 中修复(影响 1.1.1 至 1.1.1i)。
已在 OpenSSL 1.0.2y 中修复(影响 1.0.2 至 1.0.2x)。(CVE-2021-23840)

- OpenSSL 公共 API 函数 X509_issuer_and_serial_hash() 尝试根据 X509 证书中包含的颁发者和序列号数据创建唯一哈希值。但其无法正确处理在分析颁发者字段期间可能发生的任何错误(如果颁发者字段是恶意构建的,就可能发生此类错误)。随后,这可能导致空指针取消引用和崩溃,进而可能导致拒绝服务攻击。函数 X509_issuer_and_serial_hash() 绝不会由 OpenSSL 本身直接调用,因此应用程序仅在直接使用此函数,并且在可能是从不受信任来源获得的证书上使用此函数时,才容易受到影响。OpenSSL 1.1.1i 及之前的版本受此问题影响。这些版本的用户应升级至 OpenSSL 1.1.1j。OpenSSL 1.0.2x 及之前的版本受此问题影响。但 OpenSSL 1.0.2 已不受支持,且无法再接收公共更新。OpenSSL 1.0.2 的高级支持客户应升级至 1.0.2y。其他用户应升级至 1.1.1j。已在 OpenSSL 1.1.1j 中修复(影响 1.1.1 至 1.1.1i)。已在 OpenSSL 1.0.2y 中修复(影响 1.0.2 至 1.0.2x)。(CVE-2021-23841)

- 如果从客户端发送恶意构建的重新协商 ClientHello 消息,OpenSSL TLS 服务器可能会崩溃。如果 TLSv1.2 重新协商 ClientHello 忽略了 signature_algorithms 扩展(出现在初始 ClientHello 中),但包含了一个 signature_algorithms_cert 扩展,则将造成空指针取消引用,进而导致崩溃和拒绝服务攻击。仅在启用 TLSv1.2 和重新协商(默认配置)的情况下,服务器才会容易受到攻击。OpenSSL TLS 客户端不受此问题影响。所有 OpenSSL 1.1.1 版本都受此问题影响。这些版本的用户应升级至 OpenSSL 1.1.1k。OpenSSL 1.0.2 不受此问题影响。已在 OpenSSL 1.1.1k 中修复(影响 1.1.1 到 1.1.1j)。(CVE-2021-3449)

- X509_V_FLAG_X509_STRICT 标记对证书链中存在的证书启用额外安全检查。这并非默认设置。从 OpenSSL 版本 1.1.1h 开始,添加了用于禁止链中显式编码椭圆曲线参数的证书的检查,作为额外的严格检查。实现此检查时出现错误,这意味着之前用于确认链中证书为有效 CA 证书的检查结果被覆盖。这可有效绕过非 CA 证书不得颁发其他证书的检查。如果已配置了用途,则随后将有机会检查证书是否为有效的 CA。在 libcrypto 中实现的所有指定目的值都会执行此检查。因此在设置了目的的情况下,即使已经使用 strict 标记,证书链仍将遭到拒绝。libssl 客户端和服务器证书验证例程中默认设置有一个用途,但该用途可以被应用程序替代或删除。如果要受到影响,应用程序必须明确设置 X509_V_FLAG_X509_STRICT 验证标记,并且不设置证书验证的目的,或者如果是 TLS 客户端或服务器应用程序,则替代默认目的。OpenSSL 1.1.1h 及之后的版本均受此问题影响。这些版本的用户应升级至 OpenSSL 1.1.1k。
OpenSSL 1.0.2 不受此问题影响。已在 OpenSSL 1.1.1k 中修复(影响 1.1.1h 到 1.1.1j)。
(CVE-2021-3450)

- ASN.1 字符串在 OpenSSL 内表示为 ASN1_STRING 结构,该结构包含一个保存字符串数据的缓冲区和一个保存缓冲区长度的字段。此字符串与普通 C 字符串形成对比,后者表示为字符串数据的缓冲区,以 NUL(0) 字节结束。虽然不是严格要求,但使用 OpenSSL 的独有 d2i 函数(及其他类似解析函数)解析的 ASN.1 字符串,以及使用 ASN1_STRING_set() 函数设定值的任何字符串,都将额外使用 NUL 方式终止 ASN1_STRING 结构中的字节数组。但是,应用程序可能会直接构建有效的 ASN1_STRING 结构,该结构不会直接在 ASN1_STRING 数组中设置数据和长度字段,进而使用 NUL 终止字节数组。这种情况也会因使用 ASN1_STRING_set0() 函数发生。已经发现,打印 ASN.1 数据的多个 OpenSSL 函数均假设 ASN1_STRING 字节数组将使用 NUL 终止,但无法保证直接构建的字符串亦是如此。当应用程序请求打印 ASN.1 结构时,并且 ASN.1 结构包含由应用程序直接构建但并非使用 NUL 终止的 ASN1_STRING 时,将会出现读取缓冲区溢出。同样的情况也会在处理证书的名称限制期间出现(例如,证书直接由应用程序构建,而非通过 OpenSSL 解析函数加载,以及证书包含非 NUL 终止的 ASN1_STRING 结构)。这种情况也会出现在 X509_get1_email()、X509_REQ_get1_email() 和 X509_get1_ocsp() 函数中。如果恶意执行者使应用程序直接构建 ASN1_STRING,然后通过某个受影响的 OpenSSL 函数处理该字符串,此问题也会出现。此问题可能会导致崩溃(导致拒绝服务攻击)。
该问题还可能导致私有内存内容(例如私钥或敏感纯文本)泄露。已在 OpenSSL 1.1.1l 中修复(影响 1.1.1-1.1.1k)。已在 OpenSSL 1.0.2za (Affected 1.0.2-1.0.2y) 中修复。(CVE-2021-3712)

- 用于计算模平方根的 BN_mod_sqrt() 函数中包含一个缺陷,可导致其无限循环非质数模数。当在内部解析包含压缩形式的椭圆曲线公钥或具有以压缩形式编码的基点的显式椭圆曲线参数时,将会使用此函数。可以通过构建具有无效显式曲线参数的证书来触发无限循环。由于证书解析发生在证书签名验证之前,因此任何解析外部所提供证书的进程都可能遭受拒绝服务攻击。解析构建的私钥时也可能发生无限循环,因为其中可能包含显式椭圆曲线参数。因此,易受攻击的情况包括:- TLS 客户端使用服务器证书 - TLS 服务器使用客户端证书 - 从客户处获取证书或私钥的主机托管商 - 证书颁发机构解析用户的证书请求 - 解析 ASN.1 椭圆曲线参数以及使用 BN_mod_sqrt( ) 的任何其他应用程序,其中攻击者可控制易受此 DoS 问题影响的参数值。OpenSSL 1.0.2 版本在初始解析证书期间未解析公钥,这就使得触发无限循环变得稍难一些。但是,任何需要证书公钥的操作都将触发无限循环。特别是在证书签名验证期间,攻击者可使用自签名证书触发循环。OpenSSL 版本 1.0.2、1.1.1 和 3.0 会受此问题影响。2022 年 3 月 15 日发布的 1.1.1n 和 3.0.2 版本已解决此问题。已在 OpenSSL 3.0.2 中修复(影响 3.0.0、3.0.1)。已在 OpenSSL 1.1.1n 中修复(影响 1.1.1-1.1.1m)。已在 OpenSSL 1.0.2zd 中修复(影响 1.0.2-1.0.2zc)。(CVE-2022-0778)

- c_rehash 脚本未正确审查 shell 元字符以防止命令注入。某些操作系统以自动执行的方式分发此脚本。在此类操作系统中,攻击者可以使用脚本的权限执行任意命令。使用 c_rehash 脚本被视为过时,应由 OpenSSL rehash 命令行工具取代。
已在 OpenSSL 3.0.3 中修复(影响 3.0.0、3.0.1、3.0.2)。已在 OpenSSL 1.1.1o 中修复(影响 1.1.1-1.1.1n)。
已在 OpenSSL 1.0.2ze 中修复(影响 1.0.2-1.0.2zd)。(CVE-2022-1292)

- 除了 CVE-2022-1292 中发现的 c_rehash shell 命令注入之外,代码审查还发现了 c_rehash 脚本未正确审查 shell 元字符以防止命令注入的其他情况。修复 CVE-2022-1292 后,未发现脚本中的其他位置可能会将被哈希的证书文件名传递给通过 shell 执行的命令。某些操作系统以自动执行的方式分发此脚本。在此类操作系统中,攻击者可以使用脚本的权限执行任意命令。使用 c_rehash 脚本被视为过时,应由 OpenSSL rehash 命令行工具取代。已在 OpenSSL 3.0.4 中修复(影响 3.0.0、3.0.1、3.0.2、3.0.3)。已在 OpenSSL 1.1.1p 中修复(影响 1.1.1-1.1.1o)。已在 OpenSSL 1.0.2zf 中修复(影响 1.0.2-1.0.2ze)。(CVE-2022-2068)

- 在某些情况下,使用 AES-NI 汇编优化实现的 32 位 x86 平台的 AES OCB 模式不会加密整个数据。这可能会显示内存中预先存在但未写入的 16 个字节数据。在就地加密的特殊情况下,将显示 16 个字节的纯文本。由于 OpenSSL 不支持用于 TLS 和 DTLS 的基于 OCB 的加密套件,因此它们都不会受到影响。已在 OpenSSL 3.0.5 中修复(影响 3.0.0-3.0.4)。在 OpenSSL 1.1.1q 中已修复(影响 1.1.1-1.1.1p)。(CVE-2022-2097)

- OpenSSL RSA 解密实现中存在一个基于时序的边信道,足以用于在 Bleichenbacher 式攻击中跨网络恢复明文。若要成功解密,攻击者必须能够发送大量的测试消息进行解密。
此漏洞会影响所有 RSA 填充模式:PKCS#1 v1.5、RSA-OEAP 和 RSASVE。例如,在 TLS 连接中,客户端通常会使用 RSA 向服务器发送经过加密的预主密钥。如果攻击者能够发现客户端与服务器之间的真正连接,则可向服务器发送测试消息并记录消息处理用时。在发送足够多的消息后,攻击者可恢复用于原始连接的预主密钥,进而解密通过该连接发送的应用程序数据。(CVE-2022-4304)

- 函数 PEM_read_bio_ex() 会读取 BIO 中的 PEM 文件,并解析和解码名称(例如,
CERTIFICATE)、任何标头数据和负载数据。如果函数成功完成上述操作,则会使用指向包含相关解码数据的缓冲区的指针填充 name_out、header 和 data 参数。
调用程序负责释放这些缓冲区。构建的 PEM 文件中可能不会含有负载数据。在这种情况下,PEM_read_bio_ex() 将返回故障代码,但会使用指向已完成释放的缓冲区的指针填充标头参数。如果调用程序也释放了此缓冲区,则会发生双重释放。这很有可能会导致崩溃。如果攻击者能够提供恶意 PEM 文件以进行解析,则可实现拒绝服务攻击。函数 PEM_read_bio() 和 PEM_read() 是对 PEM_read_bio_ex() 的简单封装,因此这两个函数也会直接受到影响。这些函数也会受到许多其他 OpenSSL 函数的间接调用,包括同样容易受到攻击的 PEM_X509_INFO_read_bio_ex() 和 SSL_CTX_use_serverinfo_file()。有时,在 OpenSSL 内部使用这些函数不易受到攻击,因为如果 PEM_read_bio_ex() 返回故障代码,调用程序便不会释放标头参数。这些位置包括 PEM_read_bio_TYPE() 函数以及 OpenSSL 3.0 中引入的解码器。OpenSSL asn1parse 命令行应用程序也会受到此问题的影响。(CVE-2022-4450)

- 公共 API 函数 BIO_new_NDEF 是辅助函数,用于通过 BIO 对 ASN.1 数据作流式处理。该函数主要在 OpenSSL 内部用于为 SMIME、CMS 和 PKCS7 提供流式传输功能支持,但也可能由最终用户应用程序直接调用。该函数从调用程序接收 BIO,在其前面附加一个新的 BIO_f_asn1 filter BIO 以形成 BIO 链,然后将 BIO 链的新标头返回给调用程序。在某些情况下(例如 CMS Recipient 公钥无效时),新的 filter BIO 将被释放,而该函数则会返回表示失败的 NULL 结果。但是,在这种情况下,由于 BIO 链未正确清理,所以调用程序传递的 BIO 仍会保留指向之前已释放的 filter BIO 的内部指针。如果调用程序随后继续调用 BIO 上的 BIO_pop(),则会发生释放后使用。这很有可能会导致崩溃。这种情况直接发生在内部函数 B64_write_ASN1() 中,不仅可能导致 BIO_new_NDEF() 被调用,还会导致 BIO 上的 BIO_pop() 在随后被调用。此内部函数依次由公共 API 函数 PEM_write_bio_ASN1_stream、PEM_write_bio_CMS_stream、PEM_write_bio_PKCS7_stream、SMIME_write_ASN1、SMIME_write_CMS 和 SMIME_write_PKCS7 调用。可能受到此问题影响的其他公共 API 函数包括 i2d_ASN1_bio_stream、BIO_new_CMS、BIO_new_PKCS7、i2d_CMS_bio_stream 和 i2d_PKCS7_bio_stream。OpenSSL CMS 和 S/MIME 命令行应用程序同样会受到影响。(CVE-2023-0215)

- 存在一个与 X.509 GeneralName 内的 X.400 地址处理相关的类型混淆漏洞。
X.400 地址被解析为 ASN1_STRING,但 GENERAL_NAME 的公共结构定义错误地将 x400Address 字段的类型指定为 ASN1_TYPE。随后,按照 OpenSSL 函数 GENERAL_NAME_cmp 的解读,此字段应为 ASN1_TYPE 而不是 ASN1_STRING。CRL 检查启用(即应用程序设置 X509_V_FLAG_CRL_CHECK 标记)后,攻击者利用此漏洞可向 memcmp 调用传递任意指针,让指针能够读取内存内容或引起拒绝服务。在大多数情况下,攻击者需要同时提供证书链和 CRL 才能发起攻击,而这两者都不需要具有有效的签名。如果攻击者仅控制其中一个输入,则另一个输入必须已包含作为 CRL 分发点的 X.400 地址,但这种情况并不常见。因此,此漏洞最有可能只影响本身已实现通过网络检索 CRL 功能的应用程序。(CVE-2023-0286)

- 在所有受支持的 OpenSSL 版本中发现一个与验证包含策略限制条件的 X.509 证书链相关的安全漏洞。攻击者可能通过创建触发指数级计算资源使用的恶意证书链来会利用此漏洞,进而对受影响的系统发起拒绝服务 (DoS) 攻击。策略处理默认处于禁用状态,但可以通过将 -policy 参数传递给命令行实用工具或者调用 X509_VERIFY_PARAM_set1_policies() 函数来启用。(CVE-2023-0464)

- 验证证书时使用非默认选项的应用程序可能容易受到恶意 CA 的攻击,从而规避某些检查。OpenSSL 以静默的方式忽略叶证书中的无效证书策略,并跳过该证书的其他证书策略检查。恶意 CA 可利用此缺陷故意断言证书策略无效,从而完全避开对证书的策略检查。策略处理默认处于禁用状态,但可以通过将 -policy 参数传递给命令行实用工具或者调用 X509_VERIFY_PARAM_set1_policies() 函数来启用。(CVE-2023-0465)

- 经记载,函数 X509_VERIFY_PARAM_add0_policy() 在执行证书验证时会隐式启用证书策略检查。但是,该函数的实现并未启用允许包含无效或不正确策略的证书通过证书验证的检查。
由于突然启用策略检查可能会中断现有部署,因此决定保留 X509_VERIFY_PARAM_add0_policy() 函数的现有行为。相反,需要 OpenSSL 执行证书策略检查的应用程序需要使用 X509_VERIFY_PARAM_set1_policies() 或通过使用 X509_V_FLAG_POLICY_CHECK 标记参数调用 X509_VERIFY_PARAM_set_flags() 来显式启用策略检查。
证书策略检查在 OpenSSL 中默认禁用,而在应用程序则不常用。
(CVE-2023-0466)

- 问题汇总:处理某些特制的 ASN.1 对象标识符或包含这些标识符的数据可能会非常缓慢。影响汇总:对于直接使用 OBJ_obj2txt() 或使用无消息大小限制的任何 OpenSSL 子系统 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS 的应用程序,它们在处理这些消息时可能会遇到明显的延迟,这可能会导致拒绝服务。OBJECT IDENTIFIER 由一系列数字(子标识符)组成,其中大部分没有大小限制。
OBJ_obj2txt() 可用于将以 DER 编码形式(使用 OpenSSL 类型 ASN1_OBJECT)提供的 ASN.1 OBJECT IDENTIFIER 转换为其规范的数值文本形式,即十进制形式的 OBJECT IDENTIFIER 的子标识符,并以句点分隔。当 OBJECT IDENTIFIER 中的一个子标识符非常大时(即大得不可思议,占用了数十或数百 KiB),在文本中转换为十进制数字可能需要很长时间。时间复杂度为 O(n^2),其中“n”为以字节为单位的子标识符 (*)。OpenSSL 3.0 版引入了对使用字符串形式的名称/标识符提取加密算法的支持。这包括使用规范数字文本形式的 OBJECT IDENTIFIER 作为提取算法的标识符。可通过 ASN.1 结构 AlgorithmIdentifier 接收此类 OBJECT IDENTIFIER,该结构通常用于多种协议中,以指定应使用什么加密算法来签署或验证、加密或解密或摘要传递的数据。直接使用不受信任的数据调用 OBJ_obj2txt() 的应用程序会受到任何 OpenSSL 版本的影响。如果仅用于显示目的,则严重性是低危。在 OpenSSL 3.0 和更新版本中,该问题会影响子系统 OCSP、PKCS7/SMIME、CMS、CMP/CRMF 或 TS。它还会影响处理 X.509 证书的任何内容,包括验证其签名等简单内容。但该问题对 TLS 的影响相对较小,因为 OpenSSL 的所有版本对对等机的证书链都有 100KiB 的限制。此外,这仅影响已明确启用客户端认证的客户端或服务器。在 OpenSSL 1.1.1 和 1.0.2 版中,这仅影响显示不同的对象,例如 X.509 证书。我们假设此问题不会以造成拒绝服务的方式发生,因此这些版本被视为不受此问题的影响,不会引起关注,因此严重性为低危。(CVE-2023-2650)

- 问题摘要:检查过长的 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)

- 问题摘要:检查过长的 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)

- 问题摘要:生成过长的 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)

- 问题摘要:处理恶意格式化的 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)

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

解决方案

运行“yum update edk2”以更新系统。

另见

https://alas.aws.amazon.com/AL2/ALAS-2024-2502.html

https://alas.aws.amazon.com/cve/html/CVE-2020-1971.html

https://alas.aws.amazon.com/cve/html/CVE-2021-23840.html

https://alas.aws.amazon.com/cve/html/CVE-2021-23841.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3449.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3450.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3712.html

https://alas.aws.amazon.com/cve/html/CVE-2022-0778.html

https://alas.aws.amazon.com/cve/html/CVE-2022-1292.html

https://alas.aws.amazon.com/cve/html/CVE-2022-2068.html

https://alas.aws.amazon.com/cve/html/CVE-2022-2097.html

https://alas.aws.amazon.com/cve/html/CVE-2022-4304.html

https://alas.aws.amazon.com/cve/html/CVE-2022-4450.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0215.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0286.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0464.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0465.html

https://alas.aws.amazon.com/cve/html/CVE-2023-0466.html

https://alas.aws.amazon.com/cve/html/CVE-2023-2650.html

https://alas.aws.amazon.com/cve/html/CVE-2023-3446.html

https://alas.aws.amazon.com/cve/html/CVE-2023-3817.html

https://alas.aws.amazon.com/cve/html/CVE-2023-5678.html

https://alas.aws.amazon.com/cve/html/CVE-2024-0727.html

https://alas.aws.amazon.com/faqs.html

插件详情

严重性: Critical

ID: 192206

文件名: al2_ALAS-2024-2502.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2024/3/18

最近更新时间: 2024/3/19

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

风险信息

VPR

风险因素: High

分数: 7.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2022-2068

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

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

漏洞信息

CPE: p-cpe:/a:amazon:linux:edk2-aarch64, p-cpe:/a:amazon:linux:edk2-debuginfo, p-cpe:/a:amazon:linux:edk2-ovmf, p-cpe:/a:amazon:linux:edk2-tools, p-cpe:/a:amazon:linux:edk2-tools-doc, p-cpe:/a:amazon:linux:edk2-tools-python, cpe:/o:amazon:linux:2

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

可利用: true

易利用性: Exploits are available

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

漏洞发布日期: 2020/12/8

参考资料信息

CVE: CVE-2020-1971, CVE-2021-23840, CVE-2021-23841, CVE-2021-3449, CVE-2021-3450, CVE-2021-3712, CVE-2022-0778, CVE-2022-1292, CVE-2022-2068, CVE-2022-2097, CVE-2022-4304, CVE-2022-4450, CVE-2023-0215, CVE-2023-0286, CVE-2023-0464, CVE-2023-0465, CVE-2023-0466, CVE-2023-2650, CVE-2023-3446, CVE-2023-3817, CVE-2023-5678, CVE-2024-0727