Debian DLA-3606-1:freerdp2 - LTS 安全更新

critical Nessus 插件 ID 182754

简介

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

描述

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

- 在 FreeRDP 2.0.0 及更低版本中,通过提供操纵输入,恶意客户端可以创建双重释放条件并使服务器崩溃。此缺陷已在版本 2.1.0 中修复。(CVE-2020-11017)

- 在低于或等于 2.0.0 的 FreeRDP 中,系统会执行可能的资源耗尽漏洞。
恶意客户端可触发越界读取,导致以随机大小分配内存。已在 2.1.0 中修复此问题。(CVE-2020-11018)

- 在低于或等于 2.0.0 的 FreeRDP 中,在记录器设置为 WLOG_TRACE 时运行时,可能会出现应用程序崩溃,这是读取无效数组索引所致。数据可作为字符串打印到本地终端。已在 2.1.0 中修复此问题。(CVE-2020-11019)

- 在低于或等于 2.0.0 的 FreeRDP 中,存在导致缓冲区溢出的整数溢出。使用 /video 重定向时,受操控的服务器会指示客户端分配小于所请求大小的缓冲区,这是计算大小时的整数溢出所致。通过使用后续消息,服务器可操纵客户端,以越界将数据写入到之前分配的缓冲区内。此问题已在 2.1.0 进行了修补。
(CVE-2020-11038)

- 在低于或等于 2.0.0 的 FreeRDP 中,使用已启用 USB 重定向(接近)的受操纵服务器时,可能会读取和写入任意内存,这是长度检查中的整数溢出所致。此问题已在 2.1.0 进行了修补。(CVE-2020-11039)

- 在低于或等于 2.0.0 的 FreeRDP 中,clear_decompress_subcode_rlex 中存在从内存读取的越界数据,此类数据在屏幕上以颜色显示。此问题已在 2.1.0 进行了修补。
(CVE-2020-11040)

- 在低于或等于 2.0.0 的 FreeRDP 中,外部控制的数组索引在未经检查的情况下作为声音后端配置(alsa、oss、pulse 等)用于数据。最可能的结果是,客户端实例在声音消失或声音失真或会话断开后崩溃。如果用户无法升级到已修补的版本,则变通方案为禁用会话声音。此问题已在 2.1.0 进行了修补。
(CVE-2020-11041)

- 在高于 1.1 和 2.0.0 之前的 FreeRDP 中,update_read_icon_info 中存在越界读取。此问题允许将攻击者定义的客户端内存数量(32 位无符号 -> 4GB)读取到中间缓冲区。可以利用此问题造成客户端崩溃或存储信息以供稍后检索。此问题已在 2.0.0 进行了修补。(CVE-2020-11042)

- 在低于或等于 2.0.0 的 FreeRDP 中,rfx_process_message_tileset 中存在越界读取。
馈入 RFX 解码器的无效数据导致屏幕上出现垃圾(如颜色)。此问题已在 2.1.0 进行了修补。
(CVE-2020-11043)

- 在高于 1.2 和 2.0.0 之前的 FreeRDP 中,update_read_cache_bitmap_v3_order 中的双重释放导致客户端应用程序崩溃,前提是解析了来自受操纵服务器的破坏数据。此问题已在 2.0.0 进行了修补。(CVE-2020-11044)

- 在 1.0 之后和 2.0.0 之前的 FreeRDP 中,update_read_bitmap_data 中存在越界读取,允许将客户端内存读取到图像缓冲区。结果在屏幕上显示为颜色。
(CVE-2020-11045)

- 在 1.0 之后和 2.0.0 之前的 FreeRDP 中,update_read_synchronize 中存在流越界寻找,可导致后续越界读取。(CVE-2020-11046)

- 在 1.1 之后和 2.0.0 之前的 FreeRDP 中,autodetect_recv_bandwidth_measure_results 中存在越界读取。恶意服务器可通过提供短输入和读取测量结果数据,利用被操纵的消息提取最多 8 字节的客户端内存。此问题已在 2.0.0 进行了修补。(CVE-2020-11047)

- 1.0 之后和 2.0.0 之前 FreeRDP 中存在越界读取。该问题仅允许中止会话。
无法提取任何数据。已在 2.0.0 中修复此问题。(CVE-2020-11048)

- 在 1.1 之后和 2.0.0 之前的 FreeRDP 中,存在对客户端内存的越界读取,然后系统会将其传递给协议解析器。此问题已在 2.0.0 进行了修补。(CVE-2020-11049)

- 在 1.1 之后和 2.0.0 之前的 FreeRDP 中,rdp_read_font_capability_set 中存在流越界寻找,可导致后续越界读取。因此,受操纵的客户端或服务器可能会因无效的数据读取而强制断开连接。已在 2.0.0 中修复此问题。(CVE-2020-11058)

- 在 2.1.0 之前的 FreeRDP 中,cliprdr_read_format_list 中存在越界读取。剪贴板格式数据读取(通过客户端或服务器)可能会读取越界数据。已在 2.1.0 中修复此问题。(CVE-2020-11085)

- 在低于或等于 2.0.0 的 FreeRDP 中,ntlm_read_ntlm_v2_client_challeng 中存在越界读取,可对内部结构的最多 28 个字节进行越界读取。已在 2.1.0 中修复此问题。(CVE-2020-11086)

- 在低于或等于 2.0.0 的 FreeRDP 中,ntlm_read_AuthenticateMessage 中存在越界读取。
已在 2.1.0 中修复此问题。(CVE-2020-11087)

- 在低于或等于 2.0.0 的 FreeRDP 中,ntlm_read_NegotiateMessage 中存在越界读取。已在 2.1.0 中修复此问题。(CVE-2020-11088)

- 在 2.1.0 之前的 FreeRDP 中,irp 函数(parallel_process_irp_create、serial_process_irp_create、drive_process_irp_write、printer_process_irp_write、rdpei_recv_pdu、serial_process_irp_write)中存在越界读取。已在 2.1.0 中修复此问题。(CVE-2020-11089)

- 在版本 2.1.2 之前的 FreeRDP 中,发生越界读取,会导致访问静态数组 PRIMARY_DRAWING_ORDER_FIELD_BYTES 边界之外的内存位置。此缺陷已在版本 2.1.2 中修复。(CVE-2020-11095)

- 在版本 2.1.2 之前的 FreeRDP 中,update_read_cache_bitmap_v3_order 存在全局 OOB 读取。作为变通方案,可使用 -bitmap-cache(默认值)禁用位图缓存。此缺陷已在版本 2.1.2 中修复。
(CVE-2020-11096)

- 在版本 2.1.2 之前的 FreeRDP 中,发生越界读取,会导致访问静态数组 PRIMARY_DRAWING_ORDER_FIELD_BYTES 边界之外的内存位置。此缺陷已在版本 2.1.2 中修复。(CVE-2020-11097)

- 在版本 2.1.2 之前的 FreeRDP 中,glyph_cache_put 存在越界读取。这会影响所有启用“+glyph-cache”选项的 FreeRDP 客户端。此漏洞已在版本 2.1.2 中修复。(CVE-2020-11098)

- 在版本 (2.1.2) 之前的 FreeRDP 中,License_read_new_or_upgrade_license_packet 存在越界读取问题。受操纵的许可证数据包可导致内部缓冲区的越界读取。此缺陷已在版本 2.1.2 中修复。(CVE-2020-11099)

- 2.1.1 之前的 FreeRDP 版本中发现一个问题。在 winpr/libwinpr/sspi/NTLM/ntlm_message.c 的 ntlm_read_ChallengeMessage 中检测到越界 (OOB) 读取漏洞。(CVE-2020-13396)

- 2.1.1 之前的 FreeRDP 版本中发现一个问题。在 libfreerdp/core/security.c 中的 security_fips_decrypt 中检测到越界 (OOB) 读取漏洞,这是值未初始化所致。
(CVE-2020-13397)

- 2.1.1 之前的 FreeRDP 版本中发现一个问题。libfreerdp/crypto/crypto.c 的 crypto_rsa_common 中检测出越界 (OOB) 写入漏洞。(CVE-2020-13398)

- 在 2.1.2 及之前的 FreeRDP 中,因 rdpegfx 通道中缺少输入审查而存在整数溢出问题。所有 FreeRDP 客户端均会受到影响。未针对本地平台坐标检查就盲目接受来自服务器的输入矩形。恶意服务器可发送将在稍后导致客户端崩溃的数据(“memcpy”的无效长度参数)此问题已在 2.2.0 中修复。作为变通方案,停止使用命令行参数 /gfx、/gfx-h264 和 /network: auto (CVE-2020-15103)

- 在版本 2.1.2 之前的 FreeRDP 中,TrioParse 存在越界读取。由于整数溢出,日志记录可能绕过字符串长度检查。此缺陷已在版本 2.1.2 中修复。(CVE-2020-4030)

- 在 2.1.2 版本之前的 FreeRDP 中,gdi_SelectObject 存在释放后使用漏洞。所有通过 /relax-order-checks 使用兼容模式的 FreeRDP 客户端都会受到影响。此缺陷已在版本 2.1.2 中修复。(CVE-2020-4031)

- 在 2.1.2 版本之前的 FreeRDP 中,update_recv_secondary_order 存在整数转换漏洞。
所有使用 +glyph-cache/relax-order-checks 的客户端都会受到影响。此缺陷已在版本 2.1.2 中修复。
(CVE-2020-4032)

- 在版本 2.1.2 之前的 FreeRDP 中,RLEDECOMPRESS 存在越界读取。所有具有颜色深度 < 32 会话的基于 FreeRDP 的客户端都会受到影响。此缺陷已在版本 2.1.2 中修复。(CVE-2020-4033)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
此问题仅会影响客户端。整数下溢导致 DOS(例如,由于具有默认编译标记的“WINPR_ASSERT”而中止)。当提供的 blockLen 不足且未执行适当的长度验证时,就会发生整数下溢,从而导致拒绝服务 (DOS) 漏洞。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39350)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的 FreeRDP 版本会受到空指针取消引用的影响,从而导致 RemoteFX (rfx) 处理崩溃。在“rfx_process_message_tileset”函数内部,程序会使用 `rfx_allocate_tiles` 就 numTiles 的数量分配图块。如果由于各种原因图块的初始化流程都未能完成,图块中将会出现空指针。这可能会在后续处理中被访问并造成程序崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39351)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会受到无效偏移验证的影响,从而导致越界写入。如果值“rect->left”和“rect->top”完全等于“surface->width”和“surface->height”,则会触发此问题。例如,rect->left = surface->width 以及 rect->top = surface->height。实际上,这应该会导致崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39352)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会受到缺少偏移验证的影响,从而导致越界读取。在 `libfreerdp/codec/rfx.c` 文件中, `tile->quantIdxY`、`tile->quantIdxCb` 和 `tile->quantIdxCr` 中尚无偏移验证。因此,特制的输入可能会导致越界读取访问,进而造成崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39353)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会在 `nsc_rle_decompress_data` 函数中受到越界读取的影响。发生越界读取的原因是其处理 `context->Planes` 时没有检查它是否包含足够长度的数据。如果攻击者能够利用此漏洞,他们就可能会造成崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。
目前尚无针对此漏洞的变通方案。(CVE-2023-39354)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
beta3 之前的 3.x 版本分支中的 FreeRDP 版本在处理“RDPGFX_CMDID_RESETGRAPHICS”数据包时会受到“释放后使用”的影响。如果“context->maxPlaneSize”为 0,“context->planesBuffer”将被释放。然而,如果不更新“context->planesBuffer”,这会导致“释放后使用漏洞”利用向量。
在大多数环境中,这只会导致崩溃。此问题已在 3.0.0-beta3 版本中解决,建议使用 beta 版本 3.x 的用户进行升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39355)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
在受影响的版本中,缺少偏移验证可能会导致函数“gdi_multi_opaque_rect”出现越界读取。特别是没有代码来验证值“multi_opaque_rect->numRectangles”是否小于 45。在没有适当边界检查的情况下,循环遍历“multi_opaque_rect->numRectangles”可能会导致越界读取错误,这可能会导致崩溃。
此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-39356)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会受到整数下溢的影响,进而导致 `zgfx_decompress_segment` 函数中的越界读取。在 `CopyMemory` 的环境中,可以读取超出传输数据包范围的数据,并可能造成崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此问题的解决方案。(CVE-2023-40181)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会受到 IntegerOverflow 的影响,导致 `gdi_CreateSurface` 函数中出现越界写入漏洞。此问题仅会影响基于 FreeRDP 的客户端。FreeRDP 代理不受影响,因为图像解码并非由代理完成。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此问题的解决方案。(CVE-2023-40186)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会在 `general_LumaToYUV444` 函数中受到越界读取的影响。发生越界读取的原因是处理流程是在 `in` 变量中完成,但并未检查其是否包含足够长度的数据。`in` 变量的数据不足可能会造成错误或崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此问题的解决方案。(CVE-2023-40188)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会受到 `clear_decompress_bands_data` 函数中的越界写入的影响,其中并无偏移验证。滥用此漏洞可能会导致越界写入。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-40567)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会在 `progressive_decompress` 函数中受到越界写入的影响。此问题可以归结为 `nXSrc` 和 `nYSrc` 变量的错误计算。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此漏洞的变通方案。(CVE-2023-40569)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
在受影响的版本中,ncrush_decompress 函数中存在全局缓冲区溢出。向此函数提供特制输入可能会触发溢出,而这仅会显示为造成致崩溃。此问题已在 2.11.0 和 3.0.0-beta3 版中解决。建议用户升级。目前尚无针对此问题的解决方案。(CVE-2023-40589)

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

解决方案

升级 freerdp2 程序包。

对于 Debian 10 Buster,已在 2.3.0+dfsg1-2+deb10u3 版本中修复这些问题。

另见

https://security-tracker.debian.org/tracker/CVE-2023-39356

https://security-tracker.debian.org/tracker/CVE-2023-40181

https://security-tracker.debian.org/tracker/CVE-2023-40186

https://security-tracker.debian.org/tracker/CVE-2023-40188

https://security-tracker.debian.org/tracker/CVE-2023-40567

https://security-tracker.debian.org/tracker/CVE-2023-40569

https://security-tracker.debian.org/tracker/CVE-2023-40589

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

https://security-tracker.debian.org/tracker/CVE-2023-39350

https://security-tracker.debian.org/tracker/CVE-2023-39351

https://security-tracker.debian.org/tracker/CVE-2023-39352

https://security-tracker.debian.org/tracker/CVE-2023-39353

https://security-tracker.debian.org/tracker/CVE-2023-39354

https://security-tracker.debian.org/tracker/CVE-2023-39355

插件详情

严重性: Critical

ID: 182754

文件名: debian_DLA-3606.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2023/10/8

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

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.5

时间分数: 5.1

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

CVSS 分数来源: CVE-2020-13398

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

CVSS 分数来源: CVE-2023-40569

漏洞信息

CPE: p-cpe:/a:debian:debian_linux:libfreerdp-shadow-subsystem2-2, p-cpe:/a:debian:debian_linux:libfreerdp2-2, p-cpe:/a:debian:debian_linux:freerdp2-wayland, p-cpe:/a:debian:debian_linux:winpr-utils, cpe:/o:debian:debian_linux:10.0, p-cpe:/a:debian:debian_linux:freerdp2-x11, p-cpe:/a:debian:debian_linux:libwinpr-tools2-2, p-cpe:/a:debian:debian_linux:libuwac0-0, p-cpe:/a:debian:debian_linux:freerdp2-shadow-x11, p-cpe:/a:debian:debian_linux:libfreerdp-client2-2, p-cpe:/a:debian:debian_linux:libfreerdp-server2-2, p-cpe:/a:debian:debian_linux:libfreerdp-shadow2-2, p-cpe:/a:debian:debian_linux:freerdp2-dev, p-cpe:/a:debian:debian_linux:libwinpr2-2, p-cpe:/a:debian:debian_linux:libuwac0-dev, p-cpe:/a:debian:debian_linux:libwinpr2-dev

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/10/7

漏洞发布日期: 2020/5/7

参考资料信息

CVE: CVE-2020-11017, CVE-2020-11018, CVE-2020-11019, CVE-2020-11038, CVE-2020-11039, CVE-2020-11040, CVE-2020-11041, CVE-2020-11042, CVE-2020-11043, CVE-2020-11044, CVE-2020-11045, CVE-2020-11046, CVE-2020-11047, CVE-2020-11048, CVE-2020-11049, CVE-2020-11058, CVE-2020-11085, CVE-2020-11086, CVE-2020-11087, CVE-2020-11088, CVE-2020-11089, CVE-2020-11095, CVE-2020-11096, CVE-2020-11097, CVE-2020-11098, CVE-2020-11099, CVE-2020-13396, CVE-2020-13397, CVE-2020-13398, CVE-2020-15103, CVE-2020-4030, CVE-2020-4031, CVE-2020-4032, CVE-2020-4033, CVE-2023-39350, CVE-2023-39351, CVE-2023-39352, CVE-2023-39353, CVE-2023-39354, CVE-2023-39355, CVE-2023-39356, CVE-2023-40181, CVE-2023-40186, CVE-2023-40188, CVE-2023-40567, CVE-2023-40569, CVE-2023-40589