文章总结: 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 堆缓冲区溢出漏洞》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论