Для CodeIgniter устранение PHP2Shell требует исправления среды PHP. Версия приложения помогает выявить несовместимость, но не доказывает возможность эксплуатации или исправление обеих CVE.
CodeIgniter - Совместимость PHP для устранения PHP2Shell
| Пример выпуска | Заявленное требование 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 в поддерживаемых ветках. Это не подтверждение тестирования, поддержки поставщика или совместимости всех зависимостей. Совместимость PHP для устранения PHP2Shell ↗
Определить объём работ по PHP2Shell
Файлы и идентификатор пакета
codeigniter4/framework
composer.locksystem/core/CodeIgniter.phpapp/Config/
CodeIgniter - Устранить препятствия исправлению PHP2Shell
Структуры CI3 и CI4 различаются. Не устанавливайте codeigniter4/framework поверх system/ CI3. Учтите свои базовые классы, 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
Проверьте обе CVE в PHP, обслуживающем этот сайт. Замените или перезапустите старые Web-процессы, обработчики очередей и реплики. Рабочая главная страница или новый CLI не служат достаточным доказательством.
3. Перезапустите и проверьте всё ↗