CVE-2021-47734CVE-2021-47734是CMSimple 5.4版本中的一个高危安全漏洞,属于认证后的本地文件包含(Local File Inclusion, LFI)漏洞,最终可导致远程代码执行(Remote Code Execution, RCE)。该漏洞允许已经获得低权限认证的攻击者通过操纵PHP会话文件路径,并利用会话文件上传机制注入恶意PHP代码,从而在目标服务器上执行任意命令。CMSimple是一款轻量级的开源内容管理系统,广泛应用于小型网站和个人项目中。由于该漏洞需要认证才能利用,攻击者必须首先获取有效的用户凭证,这使得攻击门槛相对较高。然而,一旦攻击成功,攻击者即可完全控制服务器,获取敏感数据、植入后门或进一步横向移动。由于CVSS评分达到7.8分,漏洞严重性不容忽视,建议相关用户尽快升级到安全版本或采取临时缓解措施。
该漏洞的根本原因在于CMSimple 5.4对用户输入的文件路径缺乏充分的验证和过滤。攻击者通过认证后,可以修改系统中处理文件包含的函数路径参数,将包含路径指向攻击者控制的PHP会话文件。CMSimple使用PHP会话机制来管理用户状态,会话数据存储在服务器端的会话文件中。攻击者利用文件上传功能或现有的会话文件写入机制,将恶意PHP代码写入会话文件。由于应用程序在处理某些功能时会包含(include)这些会话文件,恶意PHP代码将被服务器解析和执行。关键利用步骤包括:1) 攻击者首先登录系统获取有效会话;2) 通过特定参数修改文件包含路径指向会话文件;3) 利用文件上传或其他方式向会话文件中写入webshell;4) 触发文件包含操作,使恶意代码被解析执行。整个过程利用了PHP的文件包含机制和会话管理机制的组合缺陷,形成了一条完整的RCE攻击链。