TikiWiki 21.2 允许在未使用 CSRF 防护的情况下编辑模板。
==========================
跨站请求伪造 (CSRF):
TikiWiki 21.2 允许在未使用 CSRF 防护的情况下编辑模板。这可能导致未经验证的远程攻击者实施跨站请求伪造 (CSRF) 攻击,并在受影响系统上执行任意操作。该漏洞源于受影响系统的基于 Web 的管理界面缺乏足够的 CSRF 防护。攻击者可利用此漏洞诱使用户访问恶意构造的 URL。成功利用后,攻击者能够以该用户的权限在受影响系统上执行任意操作。这些操作包括允许攻击者通过已认证用户提交自己的代码,从而导致例如路径遍历等问题。如果拥有编辑 TikiWiki 模板权限的已认证用户访问恶意网站,则模板代码可能被篡改。
在 TikiWiki 21.2 中,用户可以获准编辑 .tpl 模板。此功能可能被滥用,通过插入以下 Smarty 代码来提升用户权限:{include file='../db/local.php'}。该代码片段会引入 TikiWiki 的数据库配置文件,并将其显示在页面源代码中。其他 www-data 可读文件(如 /etc/passwd)也可被包含。该配置文件以明文形式显示 TikiWiki 的数据库凭据。
推荐解决方案:禁止包含 .tpl 之外的文件类型。