CVE-2026-22855CVE-2026-22855是FreeRDP远程桌面协议实现中的一个高危安全漏洞。该漏洞存在于FreeRDP处理智能卡功能的SetAttrib路径中,由于cbAttrLen参数与实际NDR(Network Data Representation)缓冲区长度不匹配,导致堆越界读取问题。攻击者可通过精心构造的恶意RDP会话,利用智能卡重定向功能触发此漏洞,在目标系统上实现信息泄露或导致应用程序崩溃。CVSS评分9.1,属于严重级别漏洞,对系统机密性和可用性造成严重影响。此漏洞影响FreeRDP 3.20.1之前的所有版本,官方已在3.20.1版本中完成修复。鉴于该漏洞可通过网络远程利用且无需认证,建议所有使用FreeRDP的用户立即升级到最新版本以消除安全风险。
FreeRDP是一个开源的远程桌面协议(RDP)实现,广泛应用于多种操作系统和远程桌面解决方案中。该漏洞位于智能卡虚拟通道(Smart Card Virtual Channel)的数据处理逻辑中,具体在SetAttrib函数调用路径。当FreeRDP处理智能卡属性设置请求时,程序会根据cbAttrLen字段的值从NDR编码的缓冲区中读取数据。然而,如果cbAttrLen与实际缓冲区长度不一致,程序将访问超出合法内存范围的位置,导致堆越界读取。攻击者可以通过建立恶意RDP连接并在SCARD_IO_REQUEST结构中注入畸形的属性长度值来触发此漏洞。成功利用可导致敏感内存内容泄露,包括可能存在的认证凭据、会话密钥或其他敏感信息。此外,越界读取可能触发程序异常终止,造成拒绝服务条件。漏洞的根因在于NDR数据解析时缺乏充分的长度验证和边界检查。