CVE-2021-47751CVE-2021-47751是CuteEditor for PHP(现称为Rich Text Editor)6.6版本中存在的一个高危目录遍历漏洞。该漏洞位于browse template(浏览模板)功能中,由于应用程序在处理文件路径时缺乏充分的输入验证,攻击者可以利用ServerMapPath()函数的缺陷,通过在文件重命名操作中注入目录遍历序列(如../),将上传的HTML文件写入到预期的模板目录之外的任意web根目录位置。这一漏洞允许未经身份验证的攻击者远程利用,无需任何用户交互即可实现。由于CuteEditor是一款广泛使用的PHP富文本编辑器,该漏洞可能影响大量使用该组件的Web应用程序。攻击者利用此漏洞可以写入恶意HTML或JavaScript文件,从而可能导致存储型XSS攻击、网页篡改,甚至在某些配置下实现远程代码执行。
该漏洞的核心问题在于CuteEditor for PHP的ServerMapPath()函数未能正确验证和清理用户提供的文件路径。攻击者通过browse template功能访问文件管理界面时,可以上传一个HTML文件,然后利用文件重命名功能在文件名中注入目录遍历序列。具体来说,当攻击者将上传的文件重命名为类似../../../../webroot/evil.html的名称时,ServerMapPath()函数会将其解析为相对于web根目录的路径,从而将文件写入服务器上的任意位置。漏洞利用的关键步骤包括:1)访问browse template功能并上传包含恶意内容的HTML文件;2)拦截文件重命名请求;3)将目标文件名修改为包含目录遍历序列的路径;4)服务器将文件写入指定的web可访问目录。由于该漏洞无需认证即可利用,且CVSS评分达到7.5(高危),对使用受影响版本CuteEditor的Web应用构成严重安全威胁。