漏洞描述
骑士CMS是一套基于PHP+MYSQL的免费网站管理系统。骑士CMS官方发布安全更新,修复了一处远程代码执行漏洞。由于骑士CMS某些函数存在过滤不严格,攻击者通过构造恶意请求,配合文件包含漏洞可在无需登录的情况下执行任意代码,控制服务器。漏洞利用简单,且相关利用细节已公开,阿里云应急响应中心提醒骑士CMS用户尽快采取安全措施阻止漏洞攻击。
影响版本
骑士CMS < 6.0.48
安全版本
骑士CMS 6.0.48
安全建议
1. 升级骑士CMS至最新版本。
2. 由于二次开发过或其他原因无法直接升级的站点,建议修改文件进行手动升级。
建议您立即更新升级到最新版本(6.0.48)。
二次开发过或其他原因无法直接升级的站点请按以下教程按照指引手动升级。
请修改如下两个文件代码
文件1
路径 : /Application/Common/Controller/BaseController.class.php
BaseController.class.php文件中169行assign_resume_tpl方法中添加判断
$view = new \Think\View;
$tpl_file = $view->parseTemplate($tpl);
if(!is_file($tpl_file)){
return false;
}
文件2
路径:/ThinkPHP/Library/Think/View.class.php
View.class.php文件中106行fetch方法中修改
将110行
if(!is_file($templateFile)) E(L(‘_TEMPLATE_NOT_EXIST_’).’:’.$templateFile);
代码注释替换为
if(!is_file($templateFile)) E(L(‘_TEMPLATE_NOT_EXIST_’));