CVE-2025-68670CVE-2025-68670是xrdp开源RDP服务器中的一个严重安全漏洞,CVSS评分高达9.1(严重级别)。该漏洞存在于xrdp 0.10.5之前的版本,是一处未经认证的栈缓冲区溢出问题。漏洞产生的根本原因在于处理用户域名信息时缺乏适当的边界检查。在RDP连接序列中,当服务器接收并处理客户端提供的域名信息时,如果域名字段超过预期长度,攻击者可以溢出栈缓冲区,覆盖返回地址,从而可能实现任意代码执行。此漏洞无需任何认证即可被利用,攻击者可以通过网络直接发起攻击。虽然编译器启用的栈保护(stack canary)可以部分缓解漏洞影响,但攻击者可能需要利用其他漏洞来泄露栈金丝雀值才能成功实现代码执行。建议用户立即升级到xrdp v0.10.5或更高版本以修复此漏洞。
该漏洞是一个典型的栈缓冲区溢出问题,发生在xrdp处理用户域名信息的环节。在RDP协议握手过程中,客户端会发送包含域名信息的请求数据包。xrdp在接收这些数据时,直接将域名字符串复制到栈上的固定大小缓冲区中,但未对输入数据进行充分的长度验证。当攻击者构造一个超长的域名字符串时,可以突破缓冲区边界,覆盖相邻的栈内存区域,包括函数返回地址和保存的寄存器值。由于xrdp在连接初始化阶段处理此数据时无需认证,远程攻击者可以直接发送恶意数据包触发漏洞。成功利用此漏洞可能导致:1)覆盖返回地址,控制程序执行流程跳转到攻击者指定的代码位置;2)覆写栈上的其他关键数据(如函数指针、变量值),间接实现代码执行;3)在某些条件下可能导致服务崩溃,造成拒绝服务。漏洞影响程度取决于编译时是否启用栈保护机制:未启用stack canary时可直接利用;启用了stack canary时需要先通过其他途径泄露金丝雀值。修复方案需要在数据复制前增加严格的边界检查,或使用安全的字符串处理函数替代不安全的memcpy/strcpy操作。