Debian DLA-3249-1:mbedtls - LTS 安全更新

critical Nessus 插件 ID 169300

简介

远程 Debian 主机上缺少一个或多个与安全性相关的更新。

描述

远程 Debian 10 主机上安装的程序包受到 dla-3249 公告中提及的多个漏洞影响。

- 低于 2.19.0 的 Arm Mbed TLS 和低于 2.0.0 的 Arm Mbed Crypto 在启用具决定性的 ECDSA 的情况下,会使用熵不足的 RNG 进行伪装,如果受害者多次签署相同的消息,攻击者就可以通过边信道攻击恢复私人密钥。(对于 Mbed TLS,也可在版本 2.7.12 和 2.16.3 中取得该补丁。)(CVE-2019-16910)

- 在 Arm Mbed Crypto 2.1、Mbed TLS 2.19.1 及其之前版本中,ecdsa.c 中的 ECDSA 签名实现在计算逆函数之前未减少盲标量,这允许本地攻击者通过边信道攻击恢复私钥。(CVE-2019-18222)

- 在 Arm Mbed TLS 2.16.6 之前版本以及 2.7.15 之前的 2.7.x 版中发现了一个问题。能够获得足够精确的边信道测量值的攻击者可通过以下方法恢复长期 ECDSA 私钥:(1) 利用仿射坐标转换过程中的边信道,重建标量相乘结果的投影坐标;(2) 利用 Naccache、Smart 和 Stern 在 2003 年描述的一种攻击,通过若干测量值从这些投影坐标中恢复一些临时标量;(3) 使用格子攻击获取用于签名的长期 ECDSA 私钥。
通常,攻击者在攻击 SGX 飞地并控制不受信任的操作系统时将拥有足够的访问权限。(CVE-2020-10932)

- 低于 2.16.5 的 Arm Mbed TLS 允许攻击者通过在导入期间测量缓存使用情况来获取敏感信息(RSA 私钥)。(CVE-2020-10941)

- 在受信任的固件 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)

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

- 在 Trusted Firmware Mbed TLS 2.24.0 中,base64 PEM 文件解码中存在一个边信道漏洞,此漏洞让系统级别(管理员)攻击者可以通过针对在隔离环境中运行的软件(单步执行,尤其是 Intel sgx)发起受控信道和边信道攻击,来获取有关秘密 RSA 密钥的信息。(CVE-2021-24119)

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

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

- 在 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 尚未测试这些问题,而是只依靠应用程序自我报告的版本号来判断。

解决方案

升级 mbedtls 程序包。

对于 Debian 10 buster,已在 2.16.9-0~deb10u1 版本中修复这些问题。

另见

https://security-tracker.debian.org/tracker/CVE-2020-36426

https://security-tracker.debian.org/tracker/CVE-2020-36475

https://security-tracker.debian.org/tracker/CVE-2020-36476

https://security-tracker.debian.org/tracker/CVE-2020-36478

https://security-tracker.debian.org/tracker/CVE-2021-24119

https://security-tracker.debian.org/tracker/CVE-2021-43666

https://security-tracker.debian.org/tracker/CVE-2021-44732

https://security-tracker.debian.org/tracker/CVE-2022-35409

https://packages.debian.org/source/buster/mbedtls

https://security-tracker.debian.org/tracker/source-package/mbedtls

https://security-tracker.debian.org/tracker/CVE-2019-16910

https://security-tracker.debian.org/tracker/CVE-2019-18222

https://security-tracker.debian.org/tracker/CVE-2020-10932

https://security-tracker.debian.org/tracker/CVE-2020-10941

https://security-tracker.debian.org/tracker/CVE-2020-16150

https://security-tracker.debian.org/tracker/CVE-2020-36421

https://security-tracker.debian.org/tracker/CVE-2020-36422

https://security-tracker.debian.org/tracker/CVE-2020-36423

https://security-tracker.debian.org/tracker/CVE-2020-36424

https://security-tracker.debian.org/tracker/CVE-2020-36425

插件详情

严重性: Critical

ID: 169300

文件名: debian_DLA-3249.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2022/12/26

最近更新时间: 2025/1/22

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, 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:debian:debian_linux:libmbedtls-doc, cpe:/o:debian:debian_linux:10.0, p-cpe:/a:debian:debian_linux:libmbedtls12, p-cpe:/a:debian:debian_linux:libmbedtls-dev, p-cpe:/a:debian:debian_linux:libmbedcrypto3, p-cpe:/a:debian:debian_linux:libmbedx509-0

必需的 KB 项: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/12/26

漏洞发布日期: 2019/9/26

参考资料信息

CVE: CVE-2019-16910, CVE-2019-18222, CVE-2020-10932, CVE-2020-10941, 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-36478, CVE-2021-24119, CVE-2021-43666, CVE-2021-44732, CVE-2022-35409