原创漏洞 |FreeRDP客户端X.224routingtoken堆缓冲区溢出漏洞

admin 2026-09-06 04:33:58 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: FreeRDP客户端存在X.224routingtoken堆缓冲区溢出漏洞,由微步XGPT发现并报送官方。攻击者可借恶意服务端或中间人投递超长token触发越界写,满足条件时可执行任意代码。受影响版本为3.30.0及以下,官方已发布3.31.0修复版本,建议用户尽快升级并强制证书校验。 综合评分: 88 文章分类: 漏洞分析,漏洞预警,解决方案


原创漏洞 | FreeRDP 客户端 X.224 routing token 堆缓冲区溢出漏洞

微步情报局 微步情报局

微步在线研究响应中心

2026年9月5日 09:00 北京

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

漏洞概况

FreeRDP 是开源远程桌面协议(RDP)实现,其客户端广泛用于跨平台连接 Windows 远程桌面及同类 RDP 服务。

近日,FreeRDP 官方发布通告,修复了FreeRDP 客户端 X.224 routing token 堆缓冲区溢出漏洞,该漏洞由微步XGPT发现并报送 FreeRDP 官方。

FreeRDP 客户端在协商阶段通过 nego\_send\_negotiation\_request() 构造 X.224 Connection Request。函数先分配一块固定512字节的缓冲区,再把恶意服务端经重定向注入的 routing token(长度与内容均可控)写入其中。写入调用的 Stream\_Write 本质上是一次没有容量检查的 memcpy,超长 token 会在拷贝时造成堆越界写。

BOOL nego_send_negotiation_request(rdpNego *nego){    wStream *s = Stream_New(NULL, 512);   /* 定长 512B */    size_t length = 11;                   /* TPKT + X.224 CR */    Stream_Seek(s, length);    if (nego->RoutingToken) {        /* 实质 memcpy;发行版无剩余容量检查 —— 越界发生于此 */        Stream_Write(s, nego->RoutingToken, nego->RoutingTokenLength);        if (!token_ends_with_CRLF)            Stream_Write(s, "\r\n", 2);        length += nego->RoutingTokenLength /* + 2 if CRLF appended */;    }    if (TLS_or_NLA_offered)        length += 8;                      /* RDP_NEG_REQ */    if (length > UINT16_MAX)              /* 只校验报文长度,且已在 Write 之后 */        goto fail;    /* 回填 TPKT 长度并发送 */    ...}

攻击者可诱使受害者连接恶意 RDP 服务端(或在其连向其它 RDP 服务端时经可注入重定向的中间人投递),借 Server Redirection 下发超长 routing token,使客户端在重连协商时触发该溢出并造成内存损坏;满足特定利用条件时,可执行任意代码。建议受影响用户尽快修复。

漏洞处置优先级(VPT)

综合处置优先级:中风险

| | | | | — | — | — | | 基本信息 | 微步编号 | XVE-2026-57862 | | 漏洞类型 | 缓冲区溢出 | | 利用条件评估 | 利用漏洞的网络条件 | 远程 | | 是否需要绕过安全机制 | 否 | | 对被攻击系统的要求 | 无特殊要求 | | 利用漏洞的权限要求 | 无须用户权限 | | 是否需要受害者配合 | 是 | | 利用情报 | 是否有POC | 是 | | 已知利用行为 | 暂无 |

漏洞影响范围

| | | | — | — | | 产品名称 | Freerdp | | 受影响版本 | version<=3.30.0 | | 有无修复补丁 | 有 |

修复方案

官方修复方案

官方已发布修复方案,请访问链接下载: https://www.freerdp.com/2026/08/26/3_31_0-release

官方漏洞公告:https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-r9pv-ffph-6gg6

临时缓解措施

强制证书校验,限制 FreeRDP 客户端仅连接已信任或白名单内的 RDP 主机。

微步产品支撑

微步漏洞情报于2026-09-03收录该漏洞。

微步下一代威胁情报平台NGTIP及X情报中心已于漏洞收录时向漏洞订阅用户推送该漏洞情报,并将持续推送后续更新;对于已经录入资产的用户,支持实时自动化排查受影响资产。

微步威胁感知平台TDP已于20260903支持检测,检测ID:S3100184119,模型/规则高于:20260903000000 可检出。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:微步在线研究响应中心 微步情报局 微步情报局《原创漏洞 | FreeRDP 客户端 X.224 routing token 堆缓冲区溢出漏洞》

评论:0   参与:  0