GLSA-202401-16:FreeRDP:多个漏洞

critical Nessus 插件 ID 187999

语言:

描述

远程主机受到 GLSA-202401-16 中所述漏洞的影响(FreeRDP:多个漏洞)

- FreeRDP 是免费的远程桌面协议库和客户端。在受影响的版本中,FreeRDP 的 ZGFX 解码器组件中存在越界读取漏洞。恶意服务器可诱骗基于 FreeRDP 的客户端读取越界数据并尝试对其进行解码,从而可能导致崩溃。此问题已在 2.9.0 版中解决。建议用户进行升级。(CVE-2022-39316)

- FreeRDP 是免费的远程桌面协议库和客户端。在受影响的 FreeRDP 版本中, ZGFX 解码器中缺少对输入偏移索引的范围检查。恶意服务器可诱骗基于 FreeRDP 的客户端读取越界数据并尝试对其进行解码。此问题已在 2.9.0 版中解决。目前尚无针对此问题的解决方案。(CVE-2022-39317)

- FreeRDP 是免费的远程桌面协议库和客户端。在受影响的 FreeRDP 版本中,“urbdrc”通道中缺少输入验证。恶意服务器可诱骗基于 FreeRDP 的客户端因除以零错误而发生崩溃。此问题已在 2.9.0 版中解决。建议所有用户升级。无法升级的用户不应使用“/usb”重定向开关。(CVE-2022-39318)

- FreeRDP 是免费的远程桌面协议库和客户端。在受影响的 FreeRDP 版本中,“urbdrc”通道中缺少输入长度验证。恶意服务器可诱骗基于 FreeRDP 的客户端读取越界数据并将其发送回服务器。此问题已在 2.9.0 版本中解决,建议所有用户升级。无法升级的用户不应使用“/usb”重定向开关。
(CVE-2022-39319)

- FreeRDP 是免费的远程桌面协议库和客户端。受影响的 FreeRDP 版本可能尝试对太窄的类型进行整数加法,从而导致分配的缓冲区过小,无法容纳写入的数据。恶意服务器可诱骗基于 FreeRDP 的客户端读取越界数据并将其发送回服务器。此问题已在 2.9.0 版本中解决,建议所有用户升级。无法升级的用户不应使用“/usb”重定向开关。(CVE-2022-39320)

- FreeRDP 是免费的远程桌面协议库和客户端。受影响的 FreeRDP 版本缺少对“drive”通道的路径规范化和基本路径检查。恶意服务器可诱骗基于 FreeRDP 的客户端读取共享目录之外的文件。此问题已在 2.9.0 版本中解决,建议所有用户升级。无法升级的用户不应使用“/drive”、“/drives”或“+home-drive”重定向开关。(CVE-2022-39347)

- FreeRDP 是免费的远程桌面协议库和客户端。在受影响的 FreeRDP 版本中,“drive”通道中缺少输入长度验证。恶意服务器可诱骗基于 FreeRDP 的客户端读取越界数据并将其发送回服务器。此问题已在 2.9.0 版本中解决,建议所有用户升级。无法升级的用户不应使用 drive 重定向开通道-命令行选项“/drive”、“+drives”或“+home-drive”。(CVE-2022-41877)

- 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 许可发布。
3.x Beta 分支的受影响版本受到“avc420_ensure_buffer”和“avc444_ensure_buffer”函数中释放后使用问题的影响。如果“piDstSize[x]”的值为 0,则“ppYUVDstData[x]”将被释放。但是,在这种情况下,“ppYUVDstData[x]”不会更新,从而导致释放后使用漏洞。此问题已在 3.0.0-beta3 版中解决。建议 3.x Beta 用户进行升级。目前尚无针对此漏洞的解决方案。
(CVE-2023-40187)

- 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 许可发布。
受影响的版本会在“writePixelBGRX”函数中受到越界写入的影响。此问题可以归结为“nHeight”和“srcStep”变量的错误计算。此问题已在 3.0.0-beta3 版中解决。建议所有用户都进行升级。目前尚无针对此问题的解决方案。(CVE-2023-40574)

- FreeRDP 是远程桌面协议 (RDP) 的免费实现,依据 Apache 许可发布。
受影响的版本会在“general_YUV444ToRGB_8u_P3AC4R_BGRX”函数中受到越界读取的影响。此问题可能是由于“pSrc”变量的数据不足导致的,因此会造成崩溃。
此问题已在 3.0.0-beta3 版中解决。建议所有用户都进行升级。目前尚无针对此问题的解决方案。(CVE-2023-40575)

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

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

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

解决方案

所有 FreeRDP 用户均应升级至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=net-misc/freerdp-2.11.0

另见

https://security.gentoo.org/glsa/202401-16

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

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

插件详情

严重性: Critical

ID: 187999

文件名: gentoo_GLSA-202401-16.nasl

版本: 1.0

类型: local

发布时间: 2024/1/12

最近更新时间: 2024/1/12

支持的传感器: Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2023-40574

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

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/1/12

漏洞发布日期: 2022/11/16

参考资料信息

CVE: CVE-2022-39316, CVE-2022-39317, CVE-2022-39318, CVE-2022-39319, CVE-2022-39320, CVE-2022-39347, CVE-2022-41877, 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-40187, CVE-2023-40188, CVE-2023-40567, CVE-2023-40569, CVE-2023-40574, CVE-2023-40575, CVE-2023-40576, CVE-2023-40589