Все уязвимости

CVE-2024-4577

PHP-CGI на Windows: внедрение аргументов через Apache

CVE-2024-4577 затрагивает PHP-CGI на Windows при работе за Apache и определённых системных кодовых страницах с поведением Best-Fit. Обновите PHP до исправленного выпуска и отдельно проверьте фактический режим запуска.

Проверено 30 октября 2026PHP указывает высокий риск; CVE record содержит CVSS 3.1 9.8 Critical. CISA добавила CVE-2024-4577 в KEV 12 июня 2024 года, поэтому проверку нельзя откладывать.

Кому нужно проверить

Администраторам Windows-серверов с Apache и PHP-CGI, особенно системам, обслуживающим приложения в затронутых региональных кодовых страницах. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Специально обработанные параметры запроса могут быть восприняты PHP-CGI как опции командной строки. При выполнении условий это может раскрыть исходный код или привести к выполнению произвольного PHP-кода с правами процесса веб-сервера.

Затронутые версии

Затронуты PHP 8.1 до 8.1.29, 8.2 до 8.2.20 и 8.3 до 8.3.8, если PHP собран для Windows, используется CGI SAPI за Apache, а кодовая страница Windows применяет Best-Fit. CLI, не-CGI режим и другие платформы не следуют этому условию автоматически; наличие PHP на сервере само по себе недостаточно.

Исправленные версии

Исправлено в PHP 8.1.29, 8.2.20 и 8.3.8. Установите пакет с исправлением от поставщика и подтвердите, что обновлена именно работающая php-cgi.exe; номер пакета может сохраняться при backport.

Что сделать

  1. 1Инвентаризируйте фактический веб-сервер, SAPI, путь к php-cgi.exe, версию PHP и системную кодовую страницу Windows. Не считайте установленный CLI PHP доказательством безопасности веб-сайта.
  2. 2Установите PHP 8.1.29, 8.2.20, 8.3.8 или более новый поддерживаемый выпуск либо пакет Windows с подтверждённым backport. Перед заменой сохраните конфигурацию и проверьте приложение на тестовом узле.
  3. 3Если обновление невозможно немедленно, временно исключите PHP-CGI из внешнего доступа и переведите приложение на безопасную поддерживаемую схему запуска после проверки совместимости. Блокировка отдельных строк запроса не заменяет исправление.
  4. 4После обновления проверьте фактически запущенный процесс, обычные страницы, загрузки и журналы Apache/PHP. При признаках раскрытия исходников или выполнения чужого кода изолируйте узел, сохраните необходимые журналы и замените секреты после расследования.

Проверка PHP-CGI на Windows

Безопасный порядок подтверждения применимости и исправления.

  1. 1Определить SAPI и реально используемый php-cgi.exe
  2. 2Проверить версию и кодовую страницу Windows
  3. 3Установить исправленный пакет
  4. 4Проверить обычные запросы и журналы

Примеры конфигурации и проверки

Проверить версию PHP в нужном окружении (shell)
php-cgi.exe -v

Запускайте локально на Windows-сервере с тем же исполняемым файлом, который настроен у Apache; команда только читает версию и не принимает HTTP-запросы. Сверьте путь и результат с конфигурацией веб-сервера и advisory поставщика.

Как не подпустить ботов к сайту

BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.