QQ扫一扫联系
泄漏了 APP_KEY 的网站才会触发此漏洞。
由于网站在安装初始化时会自动随机生成 APP_KEY,因此如果网站 .env 文件中的 APP_KEY 未泄漏,不会触发此漏洞。
① 使用了更多信息生成文件Hash,避免单一APP_KEY泄漏造成的问题。
② 恶意文件后缀判断。
升级系统到最新版,保证 MSCore 版本在 ≥3.8.0。
或者参照以下手动升级:
修改 vendor/modstart/modstart/src/Core/Util/FileUtil.php 的 savePathToLocalTemp 方法为如下
public static function savePathToLocalTemp($path, $ext = null, $downloadStream = false) { // ... 其他代码 ... if (empty($ext)) { $ext = self::extension($path); } $ext = ltrim(strtolower($ext), '.'); BizException::throwsIf('Unsupported Path Extension', in_array($ext, [ 'php', 'php3', 'php4', 'php5', 'phps', 'phtml', ])); $securityKey = md5(json_encode(config('env'))); $tempPath = public_path('temp/' . md5($securityKey . ':' . $path) . '.' . $ext); if (file_exists($tempPath)) { return $tempPath; } // ... 其他代码 ... }
或可参照提交中 FileUtil 相关修改自行完成修改。
https://gitee.com/modstart-lib/modstart/commit/63f37bec417617dd215c04dd94762668848d73af
或
https://github.com/modstart-lib/modstart/commit/63f37bec417617dd215c04dd94762668848d73af