CVE-2026-40254FreeRDP在3.25.0之前的版本中存在路径遍历漏洞。由于`contains_dotdot()`函数未能正确处理路径末尾的`..`组件,攻击者可诱导受害者连接恶意RDP服务器。在启用驱动重定向的情况下,攻击者可绕过安全限制,读取、列出或写入客户端共享文件夹上一级目录的文件。
该漏洞位于`channels/drive/client/drive_file.c`文件中的路径遍历过滤逻辑。原函数通过检查`../`或`..\`来防止目录穿越,但存在逻辑盲区:当`..`作为路径的最后一个组件且没有尾随分隔符时(例如`folder/..`),校验函数会返回False,导致路径通过验证。攻击者利用此漏洞,需搭建恶意RDP服务器。当受害者使用受影响版本的FreeRDP客户端连接并开启驱动重定向时,攻击者通过发送特制的RDPDR请求,即可访问受限制的父目录,造成信息泄露或文件篡改。