关键漏洞信息 漏洞概述 漏洞名称: Global-buffer-overflow in crypto_base64_decode 严重性: Moderate CVE ID: CVE-2026-22858 受影响和修复版本 受影响版本: <= 3.20.0 修复版本: 3.20.1 漏洞描述 在对RDP进行模糊测试期间,在FreeRDP的Base64解码路径中观察到一个ASan全局缓冲区溢出。根本原因是实现定义的 有符号性: 在Arm/AArch64构建中,普通的 被视为无符号,因此 可以优化为简单的 检查。 这导致非ASCII字节(例如,0x80-0xFF)可能绕过预期的范围限制,并作为全局查找表的索引,导致越界访问。 漏洞细节 源代码中的预期范围检查: 条件 旨在约束 在 1..127 范围内,防止负值和NUL('\0')被用作Base64解码表的索引。 ASan症状: ASan日志表明存在全局缓冲区溢出,这与对全局查找表的越界访问一致。 汇编指示防护措施被简化为 检查: 在生成的AArch64汇编中,条件被简化为非零比较。 ARM特定性质: 的有符号性是实现定义的,Arm系统通常将其视为无符号。 影响 恶意服务器可能触发客户端全局缓冲区溢出,导致崩溃(DoS)。 影响范围 FreeRDP 基于客户端 FreeRDP 代理(在负载均衡服务器设置中处理重定向) 修复建议 1. 明确强制有符号比较。 2. 提供或强制编译器选项,以在构建中强制一致的 有符号性。