CVE-2026-41205Mako是一个用Python编写的模板库。在1.3.11版本之前,其TemplateLookup.get_template()函数存在严重的路径遍历安全漏洞。当传入的URI字符串以双斜杠"//"开头时(例如"//../../../secret.txt"),由于斜杠去除实现的不一致性,攻击者可以利用此缺陷绕过目录限制。如果应用程序将未受信任的用户输入直接传递给该函数,攻击者即可读取服务器上该进程有权访问的任意敏感文件内容。
该漏洞的核心在于Mako库处理模板URI时,用于规范化和清理路径的斜杠去除机制存在逻辑缺陷。具体来说,当URI以"//"开头时,代码中的不同处理模块对斜杠的处理方式不一致,导致安全校验失效。攻击者通过构造包含"//"与目录遍历序列"../"的特殊字符串(如"//../../../etc/passwd")作为模板名称传入get_template()函数。由于校验机制被绕过,解析器未能正确限制路径在预定义的模板根目录内,反而允许向上回溯至系统根目录。这使得攻击者能够读取应用程序运行权限范围内的任意文件,包括配置文件、源代码或其他敏感数据,从而导致信息泄露。