GLSA-202301-08 : Mbed TLS: 多个漏洞

critical Nessus 插件 ID 169842

语言:

描述

远程主机受到 GLSA-202301-08 中所述漏洞的影响(Mbed TLS:多个漏洞)

- 在受信任的固件 Mbed TLS 2.23.0 及其之前版本中,library/ssl_msg.c 的 mbedtls_ssl_decrypt_buf 中存在 Lucky 13 时序边信道,允许攻击者恢复密钥信息。这会影响 CBC 模式,因为是根据填充长度计算出时间差。(CVE-2020-16150)

- 在 Arm Mbed TLS 2.23.0 之前版本中发现一个问题。由于模幂运算中存在边信道,因此在安全飞地中使用的 RSA 私钥可能会被泄露。(CVE-2020-36421)

- 在 Arm Mbed TLS 2.23.0 之前版本中发现一个问题。边信道允许恢复与 mbedtls_ecp_check_pub_priv、mbedtls_pk_parse_key、mbedtls_pk_parse_keyfile、mbedtls_ecp_mul 和 mbedtls_ecp_mul_restartable 相关的 ECC 私钥。(CVE-2020-36422)

- 在 Arm Mbed TLS 2.23.0 之前版本中发现一个问题。远程攻击者可以恢复明文密钥,这是因为某个 Lucky 13 对策未正确考虑硬件加速器的情况。
(CVE-2020-36423)

- 在 Arm Mbed TLS 2.24.0 之前版本中发现一个问题。攻击者可通过针对基础盲化/解密值的生成执行边信道攻击来恢复私钥(用于 RSA 或静态 Diffie-Hellman)。
(CVE-2020-36424)

- 在 Arm Mbed TLS 2.24.0 之前版本中发现一个问题。当决定是否通过 CRL 接受证书撤销时,它错误地使用了 revocationDate 检查。在某些情况下,攻击者可通过更改本地时钟来利用此漏洞。(CVE-2020-36425)

- 在 2.24.0 之前的 Arm Mbed TLS 中发现一个问题。 mbedtls_x509_crl_parse_der 存在缓冲区过度读取(一个字节)。(CVE-2020-36426)

- 在 2.25.0 之前(2.16.9 LTS 之前及 2.7.18 LTS 之前)的 Mbed TLS 中发现了一个问题。mbedtls_mpi_exp_mod 执行的计算不受限制;因此,在生成 Diffie-Hellman 密钥对时,提供过大参数可能会导致拒绝服务。(CVE-2020-36475)

- 在 2.24.0 之前(2.16.8 LTS 之前及 2.7.17 LTS 之前)的 Mbed TLS 中发现了一个问题。mbedtls_ssl_read 中缺少用于从内存擦除未用应用程序数据的明文缓冲区归零。
(CVE-2020-36476)

- 在 Mbed TLS 2.24.0 之前版本中发现一个问题。预期公用名(mbedtls_x509_crt_verify 的 cn 参数)与实际证书名称匹配时,对 X.509 证书的验证未得到正确处理:当存在 subjecAltName 扩展时,会将预期名称与该扩展程序中的任何名称进行比较,而不考虑其类型。这意味着攻击者可通过获取相应 IPv4 或 IPv6 地址的证书来冒充 4 字节或 16 字节的域(不过,这需要攻击者控制该 IP 地址)。 (CVE-2020-36477)

- 在 2.25.0 之前(2.16.9 LTS 之前及 2.7.18 LTS 之前)的 Mbed TLS 中发现了一个问题。NULL 算法参数条目看起来与 REAL 数组(大小为零)相同,因此证书被视为有效。但是,如果参数在任何方面均不匹配,则证书应被视为无效。(CVE-2020-36478)

- 当输入密码的长度为 0 时,mbed TLS 3.0.0 及更低版本的 mbedtls_pkcs12_derivation 函数中存在拒绝服务漏洞。(CVE-2021-43666)

- 在某些内存不足的情况下,3.0.1 之前版本的 Mbed TLS 存在双重释放漏洞,这一点已由 mbedtls_ssl_set_session() 失败所证实。(CVE-2021-44732)

- 在低于 2.28.0 的 Mbed TLS 和低于 3.x 的 3.1.0中,当输出缓冲区位于不受信任的应用程序可访问的内存位置时,psa_cipher_generate_iv 和 psa_cipher_encrypt 允许策略绕过或基于 oracle 的解密。 (CVE-2021-45450)

- 在 Mbed TLS 2.28.1 之前版本以及 3.2.0 之前的 3.x 版本中发现一个问题。在某些配置中,未经身份验证的攻击者可向 DTLS 服务器发送无效的 ClientHello 消息,从而造成最多 255 个字节的基于堆的缓冲区过度读取。根据错误响应,这可能导致服务器崩溃或信息泄露。受影响的配置启用了 MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE,并且 MBEDTLS_SSL_IN_CONTENT_LEN 小于取决于配置的阈值:使用 mbedtls_ssl_cookie_check 时为 258 个字节,使用自定义 Cookie 检查函数时可能多达 571 个字节。
(CVE-2022-35409)

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

解决方案

所有 Mbed TLS 用户皆应升级到最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=net-libs/mbedtls-2.28.1

另见

https://security.gentoo.org/glsa/202301-08

https://bugs.gentoo.org/show_bug.cgi?id=730752

https://bugs.gentoo.org/show_bug.cgi?id=740108

https://bugs.gentoo.org/show_bug.cgi?id=764317

https://bugs.gentoo.org/show_bug.cgi?id=778254

https://bugs.gentoo.org/show_bug.cgi?id=801376

https://bugs.gentoo.org/show_bug.cgi?id=829660

https://bugs.gentoo.org/show_bug.cgi?id=857813

插件详情

严重性: Critical

ID: 169842

文件名: gentoo_GLSA-202301-08.nasl

版本: 1.1

类型: local

发布时间: 2023/1/11

最近更新时间: 2023/9/8

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

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

CVSS 分数来源: CVE-2021-44732

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:gentoo:linux:mbedtls, cpe:/o:gentoo:linux

必需的 KB 项: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/1/11

漏洞发布日期: 2020/9/2

参考资料信息

CVE: CVE-2020-16150, CVE-2020-36421, CVE-2020-36422, CVE-2020-36423, CVE-2020-36424, CVE-2020-36425, CVE-2020-36426, CVE-2020-36475, CVE-2020-36476, CVE-2020-36477, CVE-2020-36478, CVE-2021-43666, CVE-2021-44732, CVE-2021-45450, CVE-2022-35409