CVE-2026-39394CI4MS是基于CodeIgniter 4开发的CMS骨架应用。在0.31.4.0版本之前,系统安装接口存在严重安全缺陷。由于`Install::index()`控制器未对用户提交的`host`参数进行有效验证,且未去除换行符,攻击者可利用该漏洞向`.env`配置文件注入任意恶意指令。结合CSRF保护缺失及安装过滤器绕过问题,未经认证的攻击者可远程利用此漏洞接管系统。
该漏洞位于CI4MS的安装流程中,核心问题在于`Install::index()`控制器处理`host` POST参数时缺乏安全过滤。代码直接将该参数传递给`updateEnvSettings()`函数,该函数使用`preg_replace()`将参数写入`.env`文件。由于未过滤换行符(如`\n`),攻击者可以在参数中插入换行,从而在`.env`文件中追加新的配置项。此外,尽管系统使用了`InstallFilter`来限制安装页面的访问,但当`cache('settings')`为空(例如缓存过期或全新部署)时,该过滤器可以被绕过。同时,安装路由的CSRF保护被显式禁用。攻击者通过发送特制的HTTP POST请求,注入诸如修改应用密钥、设置恶意自动加载路径或更改数据库配置等指令,可能导致远程代码执行(RCE)或敏感信息泄露。