CVE-2025-66905CVE-2025-66905是Takes Web框架中TkFiles组件的一个高危安全漏洞。该漏洞源于TkFiles在处理HTTP请求路径时,未能对路径进行规范化(canonicalization)处理就直接与文件系统进行交互。攻击者可以通过在请求路径中插入"../"序列,突破配置的基准目录限制,遍历到服务器上的任意目录并读取敏感文件。此漏洞无需任何认证即可被利用,影响版本包括Takes框架2.0-SNAPSHOT及之前版本。由于CVSS评分达到7.5(高危),且攻击复杂度低、无需认证,远程攻击者可以轻松利用此漏洞获取服务器上的配置文件、密钥、密码文件等敏感信息,对系统安全造成严重威胁。建议受影响的用户尽快升级到最新版本或采取临时缓解措施。
Takes框架的TkFiles组件用于处理静态文件服务,其设计理念是将请求路径映射到配置的基准目录下的文件。然而,由于缺少路径规范化步骤,攻击者可以通过构造包含"../"的特殊请求路径来突破目录限制。例如,当基准目录设置为"/var/www/html"时,攻击者发送请求"/files/../../../../etc/passwd",TkFiles会直接拼接路径而不验证其合法性,最终解析为"/etc/passwd"并返回文件内容。漏洞的核心问题在于:1) 未调用Java的getCanonicalPath()方法进行路径规范化;2) 未验证解析后的绝对路径是否仍在基准目录内;3) 直接使用用户输入的路径进行文件读取操作。攻击者可以利用此漏洞读取服务器上的任意文件,包括但不限于系统配置文件(/etc/passwd、/etc/shadow)、应用程序配置、环境变量文件等敏感信息。