CodeIgniter 网站修复 PHP2Shell,需要修补实际运行的 PHP 解释器。应用版本用于识别兼容障碍,不能单独证明网站可被利用,也不能证明两个 CVE 已修复。
CodeIgniter - 修复 PHP2Shell 要核对哪些 PHP 兼容版本
| 发布版本样本 | 声明的 PHP 要求 | 声明允许的补丁候选 | 原始来源 |
|---|---|---|---|
| v4.1.9 | ^7.3 || ^8.0 | repo.packagist.org ↗4ec623a6b826 | |
| v4.2.12 | ^7.4 || ^8.0 | repo.packagist.org ↗bc3f312a3eba | |
| v4.3.8 | ^7.4 || ^8.0 | repo.packagist.org ↗10c23e96db99 | |
| v4.4.8 | ^7.4 || ^8.0 | repo.packagist.org ↗84ff35989270 | |
| v4.5.8 | ^8.1 | repo.packagist.org ↗80204755e06c | |
| v4.6.5 | ^8.1 | repo.packagist.org ↗116e0919590a | |
| v4.7.5 | ^8.2 | repo.packagist.org ↗a1f129d56df3 |
候选仅将该声明与受支持分支的首个 PHP2Shell 修复版本比对,不代表已经通过兼容测试、仍有厂商支持或全部依赖均匹配。 修复 PHP2Shell 要核对哪些 PHP 兼容版本 ↗
确认 PHP2Shell 修复范围
文件与软件包身份
codeigniter4/framework
composer.locksystem/core/CodeIgniter.phpapp/Config/
CodeIgniter - 排除 PHP2Shell 修复中的兼容障碍
CodeIgniter 3 与 4 的应用结构不同,不能把 codeigniter4/framework 直接覆盖到 CI3 的 system/。先清点自定义核心类、hooks、会话驱动和路由。表格仅列 CI4 的具体发布样本,后期小版本会提高 PHP 要求。配置和业务代码应在副本迁移,再比较登录和数据库行为。
需要排查的依赖与二次开发
官方升级文档 ↗PHP2Shell 修复后的业务验收
修复 PHP2Shell 前的只读盘点
命令示例
php -v
php --ini
composer --no-plugins show --locked codeigniter4/framework
composer --no-plugins check-platform-reqs --lock
composer --no-plugins prohibits php 8.3.36 --lockedCodeIgniter - 核实 PHP2Shell 修复
在真正承载本站请求的 PHP 中核实两个 CVE 的补丁。替换或重启旧 Web 工作进程、队列进程和全部副本。首页能打开或 CLI 版本变新,都不足以证明修复完成。
3. 重启并验证所有实例 ↗