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

· 2026-09-05 09:00 · 6 阅读

微步情报局 2026-09-05 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(NULL512);   /* 定长 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可检出。

    跳转微信打开