Amazon Linux 2:freerdp,--advisory ALAS2-2026-3887 (ALAS-2026-3887)

critical Nessus 插件 ID 341869

简介

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

描述

远程主机上安装的 freerdp 版本低于 2.11.7-1。因此,该软件受到 ALAS2-2026-3887 公告中提及的多个漏洞影响。

之前 3.28.0 的 FreeRDP 将 RDP 文件中以正斜杠开头的行视为原始命令行选项,从而将整个 CLI 解析器表面暴露给不受信任的文件。攻击者可使用 /rdp2tcp、/cert:ignore 或 /drive 选项构建恶意 RDP 文件,以便在无需用户交互的情况下执行任意命令、绕过证书验证或泄露本地文件系统。(CVE-2026-64624)

之前 3.29.0 的 FreeRDP(受影响版本 <= 3.28.0)在 tls_verify_certificate()、tls_match_hostname() 和 x509_utils_get_dns_names() 中包含多个 TLS 证书标识验证漏洞。由于 FreeRDP 执行自定义公用名和 DNS SAN 字符串匹配,而不是使用 OpenSSL 的长度感知身份验证 API,因此它 (1) 会截断嵌入式 NUL 字节处的 DNS SAN 值(接受例如
“victim.example\0.attacker.example”作为“victim.example”),(2) 即使存在不匹配的 DNS SAN 条目也接受匹配的公用名,以及 (3) 通过 DNS/CN 匹配接受 IP 文本目标,而不比较 iPAddress SAN。在受信任或错误发布的证书链下,能够提供此类证书的攻击者可绕过服务器身份验证,从而削弱 TLS 服务器身份验证。
(CVE-2026-66402)

之前的 FreeRDP 在 3.29.0 智能卡缓存请求解码器中包含空指针取消引用漏洞,这些解码器接受在SCARD_IOCTL_READCACHEA和SCARD_IOCTL_WRITECACHEA操作中针对 LookupName 的空 NDR 指针。当启用了智能卡仿真时,攻击者可能会发送带有 NULL 查找名称指针的特别构建的智能卡缓存请求,以在空指针上触发 strlen(),造成客户端进程终止。(CVE-2026-67288)

之前 3.29.0 的 FreeRDP 版本(受影响版本 <= 3.28.0)未验证服务器控制的 RDP 重定向 TargetNetAddress 字段中的 CRLF 和控制字符。此值被复制到客户端的 ServerHostname 中,并且在客户端通过 HTTP 代理连接时,会不经过滤并通过 http_proxy_connect() 直接写入代理 CONNECT 请求行和主机标头。恶意或遭到破坏的 RDP 服务器可发送含有内嵌控制字符的特制重定向 PDU,从而向 HTTP 代理 CONNECT 请求中注入任意标头/请求。(CVE-2026-67289)

(受影响版本 <=3.28.0) 之前3.29.0的 FreeRDP 在 libfreerdp/cache/glyph.c 的 update_process_glyph_fragments()/glyph_cache_fragment_put() 中包含堆越界读取。处理GLYPH_FRAGMENT_ADD更新时,代码会读取由服务器控制的单字节声明的片段大小,但在分配和复制如此多字节之前,未验证其是否适合接收到的剩余缓冲区。恶意 RDP 服务器可发送声明大小过大的短片段,造成客户端读取超出分配的缓冲区,从而导致越界读取和客户端崩溃。(CVE-2026-67291)

(受影响版本 <= 3.28.0)之前3.29.0的 FreeRDP 包含错误证书主机名验证漏洞。TLS 主机名匹配程序(libfreerdp/crypto/tls.c 中的 tls_match_hostname())将 *.example.com 等通配符模式视为匹配任何以 .example.com 结尾的主机名,因此其未正确接受 a.b.example.com 等多标签子域的通配符证书(OpenSSL 的 X509_check_host() 拒绝))。这会削弱通配符证书情况下的 TLS 服务器认证。
(CVE-2026-67293)

之前 3.29.0 的 FreeRDP 在客户端服务器 TLS 身份验证期间未正确验证对等证书的扩展密钥使用 (EKU) 用途。在 x509_utils_verify() 中,当服务器用途 (X509_PURPOSE_SSL_SERVER) 验证失败时,代码会回退到客户端用途和任意用途验证,因此可接受仅对 clientAuth 有效的受信任的主机名匹配证书作为 RDP 服务器证书。在依赖客户端和服务器证书之间的 EKU 分隔的环境中,这允许受信任的 CA 颁发的仅 clientAuth 证书绕过服务器证书目的验证。(CVE-2026-67294)

之前 3.29.0 的 FreeRDP 无法正确验证驱动器重定向中服务器提供的 RDPDR 路径,从而允许攻击者访问配置的共享根以外的前缀同级路径。恶意 RDP 服务器可以通过发送绕过共享根目录边界检查的非根路径,对同级目录中的文件进行读取、写入、删除及枚举操作。(CVE-2026-67295)

FreeRDP 版本和更旧版本 3.28.0 在服务器端的 RAIL 通道处理程序(channels/rail/server/rail_main.c 中的 rail_server_handle_messages())中包含堆缓冲区溢出。在处理 RAIL PDU 标头时,代码会从对等机控制的 orderLength 字段中减去RAIL_PDU_HEADER_LENGTH,而不会首先验证 orderLength 至少为标头长度。对于 orderLength 值 0..3,这会导致无符号整数下溢到非常大,从而绕过 Stream_EnsureRemainingCapacity() 容量检查(由于指针算术回绕),然后传递到 WTSVirtualChannelRead(),从而导致越界堆写入。恶意或遭到破坏的 RDP 客户端可利用此问题,损坏堆并使服务器崩溃。已在 FreeRDP 3.29.0中修复。(CVE-2026-67298)

启用了 AsyncUpdate 时,之前的 FreeRDP 3.29.0 在用于 WINDOW_ICON_ORDER 的异步更新消息代理中包含客户端堆释放后使用(例如 xfreerdp /async-update)。在 update_message_WindowIcon() 中,浅层 CopyMemory() 会使用解析器拥有的 windowIcon->iconInfo 指针覆盖新分配的 lParam->iconInfo。在解析器回调返回后,update_recv_window_info_order() 会释放 window_icon.iconInfo,但排队的异步消息仍会保留并在稍后调度该过时指针。恶意或遭到破坏的 RDP 服务器发送带有 WINDOW_ORDER_ICON 的特制 RAIL Window 备用辅助顺序,可触发释放后使用,导致内存损坏和客户端崩溃。(CVE-2026-67299)

启用 AsyncUpdate 时,之前的 FreeRDP 3.29.0 在用于 RAIL WINDOW_STATE_ORDER 和 NOTIFY_ICON_STATE_ORDER 的异步更新消息代理中包含客户端堆释放后使用漏洞。当恶意或遭到破坏的 RDP 服务器发送特制的更新命令时,消息代理会浅层复制包含嵌套解析器拥有的指针(例如,titleInfo.string、windowRects、visibilityRects、图标缓冲区)的结构。回调返回后,解析器会释放这些嵌套缓冲区,因此排列的异步消息稍后会调度过时指针,从而可能造成内存损坏或客户端崩溃。
(CVE-2026-67300)

之前 3.29.0 的 FreeRDP 在 PolygonSC 和 PolygonCB 主要绘制订单的异步更新消息代理中包含越界读取漏洞。启用了 AsyncUpdate 时(例如 xfreerdp /async-update),update_message_PolygonSC() 和 update_message_PolygonCB() 会分配新的点数组,但是从订单结构的地址复制点数据,而不是从 polygonSC->points / polygonCB->points 复制点数据,从而导致客户端越界读取。恶意或遭到破坏的 RDP 服务器发送特制的 PolygonSC/PolygonCB 更新命令,可能会触发内存泄露或客户端崩溃。(CVE-2026-67301)

FreeRDP 版本 3.28.0 及之前版本在 libfreerdp/codec/planar.c 中planar_decompress_plane_rle和planar_decompress_plane_rle_only的 RDP6 平面 RLE 位图解码器函数中包含一个越界读取漏洞。仅对 1 字节控制字节进行边界检查;在未验证源缓冲区是否包含后面的 0-15 攻击者声明的原始字节的情况下被读取。恶意或遭到破坏的 RDP 服务器可发送截断的平面编码位图或表面更新(可通过位图更新 PDU 和 RDPGFX 表面命令路径访问),造成客户端读取超出源缓冲区的末尾。此问题已在 FreeRDP 3.29.0中修复。(CVE-2026-67306)

之前的 FreeRDP 3.29.0 在 ALSA、sndio、WinMM 和 OpenSL ES 后端的音频输入重定向通道 (audin) 中包含整数溢出漏洞,无法验证来自 RDP 服务器的 FramesPerPacket 参数。攻击者可提供恶意的 FramesPerPacket 值来造成分配大小回绕,从而在 ALSA 上导致基于堆的缓冲区溢出或在所有平台上拒绝服务。
(CVE-2026-68580)

Tenable 已直接从测试产品的安全公告中提取上述描述块。

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

解决方案

运行“yum update freerdp”或“yum update --advisory ALAS2-2026-3887”以更新系统。

另见

https://alas.aws.amazon.com//AL2/ALAS2-2026-3887.html

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

https://explore.alas.aws.amazon.com/CVE-2026-64624.html

https://explore.alas.aws.amazon.com/CVE-2026-66402.html

https://explore.alas.aws.amazon.com/CVE-2026-67288.html

https://explore.alas.aws.amazon.com/CVE-2026-67289.html

https://explore.alas.aws.amazon.com/CVE-2026-67291.html

https://explore.alas.aws.amazon.com/CVE-2026-67293.html

https://explore.alas.aws.amazon.com/CVE-2026-67294.html

https://explore.alas.aws.amazon.com/CVE-2026-67295.html

https://explore.alas.aws.amazon.com/CVE-2026-67298.html

https://explore.alas.aws.amazon.com/CVE-2026-67299.html

https://explore.alas.aws.amazon.com/CVE-2026-67300.html

https://explore.alas.aws.amazon.com/CVE-2026-67301.html

https://explore.alas.aws.amazon.com/CVE-2026-67306.html

https://explore.alas.aws.amazon.com/CVE-2026-68580.html

插件详情

严重性: Critical

ID: 341869

文件名: al2_ALAS-2026-3887.nasl

版本: 1.1

类型: Local

代理: unix

发布时间: 2026/8/31

最近更新时间: 2026/8/31

支持的传感器: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.9

百分位: 96.76

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.4

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

CVSS 分数来源: CVE-2026-67289

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.5

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

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

CVSS v4

风险因素: Critical

Base Score: 9.3

Threat Score: 8.1

Threat Vector: CVSS:4.0/E:U

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

CVSS 分数来源: CVE-2026-67294

漏洞信息

CPE: cpe:/o:amazon:linux:2, p-cpe:/a:amazon:linux:freerdp-debuginfo, p-cpe:/a:amazon:linux:freerdp-devel, p-cpe:/a:amazon:linux:freerdp-libs, p-cpe:/a:amazon:linux:freerdp, p-cpe:/a:amazon:linux:libwinpr-devel, p-cpe:/a:amazon:linux:libwinpr

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

易利用性: No known exploits are available

补丁发布日期: 2026/8/31

漏洞发布日期: 2026/7/20

参考资料信息

CVE: CVE-2026-64624, CVE-2026-66402, CVE-2026-67288, CVE-2026-67289, CVE-2026-67291, CVE-2026-67293, CVE-2026-67294, CVE-2026-67295, CVE-2026-67298, CVE-2026-67299, CVE-2026-67300, CVE-2026-67301, CVE-2026-67306, CVE-2026-68580

IAVA: 2026-A-0867