关键信息总结 漏洞概况 CVE编号: CVE-2026-27015 描述: Smartcard NDR Alignment Padding Triggers Reachable WINPR_ASSERT Abort (Client DoS) 摘要: FreeRDP存在一个漏洞,恶意RDP服务器通过触发可达的WINPR_ASSERT导致客户端崩溃。此漏洞影响FreeRDP 3.22.0版本,在某些情况下可能导致客户端DoS。 CVSS评分: 6.5 (Medium) 受影响版本: <= 3.22.0 已修复版本: 3.23.0 漏洞细节 受影响函数: 问题原因: 当计算NDR对齐填充时,没有检查剩余字节数,直接调用 导致WINPR_ASSERT触发,从而造成客户端崩溃。 触发条件: - 客户端启用了智能卡重定向功能。 - 客户端连接到恶意的RDP服务器。 - 服务器控制IOCTL有效负载内容。 缓解措施和补丁 工作区建议: 1. 不要在连接不可信服务器时启用智能卡重定向。 2. 可以通过编译选项配置 的行为,减少风险。 修复方案: 使用 替代 ,并在失败时传播解析错误。 PoC和验证 Python PoC脚本: 提供了生成触发漏洞的SCARD_IOCT_L_TRANSMIT数据包的代码。 C测试脚本: 用于直接调用相关函数验证漏洞。 CVE编号: 确认的漏洞编号为CVE-2026-27015。 影响范围 远程客户端拒绝服务: 恶意RDP服务器可能使启用智能卡重定向的FreeRDP客户端崩溃。 攻击链: - 恶意服务器发送特殊构造的IOCTL数据包。 - 客户端在处理对齐填充时断言失败,导致崩溃。 修复信息 提交哈希: 65d59d3