Уязвимость в PHP, позволяющая выполнить код при работе в режиме CGI

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3248
Зарегистрирован: 20.08.2022

#

Уязвимость в PHP, позволяющая выполнить код при работе в режиме CGI
Дата публикации:Fri, 07 Jun 2024 11:35:08 +0300




В PHP выявлена уязвимость (CVE-2024-4577), позволяющая добиться выполнения своего кода на сервере или просмотра исходного кода PHP-скрипта в случае использования PHP в режиме CGI на платформе Windows (конфигурации с mod_php, php-fpm и FastCGI уязвимости не подвержены). Проблема устранена в выпусках PHP 8.3.8, 8.2.20 и 8.1.29.



Уязвимость является частным случаем исправленной в 2012 году проблемы CVE-2012-1823, добавленной для которой защиты оказалось недостаточно для блокирования атаки на платформе Windows. Метод атаки сводится к возможности подстановки аргумента командной строки при запуске интерпретатора PHP через манипуляцию с параметрами запроса к PHP-скрипту.



В старой уязвимости CVE-2012-1823 для эксплуатации достаточно было указать опции командной строки вместо параметров запроса, например, "http://localhost/index.php?-s" для показа исходного кода скрипта. Новая уязвимость основывается на том, что платформа Windows обеспечивает автоматическое преобразование символов, что позволяет для обхода ранее добавленной защиты указывать символы, присутствующие в некоторых кодировках и заменяемые на символ "-" (например, http://localhost/index.php?%ads).



Уязвимость подтверждена в конфигурациях с локалями для традиционного китайского (cp950), упрощённого китайского (cp936) и японского (cp932) языков, но не исключено её проявление и с другими локалями. Проблема проявляется в конфигурации по умолчанию в наборе XAMPP (Apache + MariaDB + PHP + Perl), а также в любых конфигурациях Apache, в которых php-cgi выставлен в качестве обработчика CGI-скриптов при помощи настройки
'Action cgi-script "/cgi-bin/php-cgi.exe"' или 'Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"', или при непосредственном размещении интерпретатора php в "/cgi-bin" и любых других каталогах, в которых разрешено выполнение CGI-скриптов через директиву ScriptAlias.




Кроме того в обновлениях PHP 8.3.8, 8.2.20 и 8.1.29 устранены ещё три уязвимости:
  • CVE-2024-5458 - возможность обхода фильтра
    FILTER_VALIDATE_URL, используемого при вызове функции filter_var.


    CVE-2024-5585 - альтернативный вектор атаки на уязвимость CVE-2024-1874, позволяющий обойти ранее добавленную защиту и осуществить подстановку команд при вызове bat- и cmd-файлов через функцию proc_open на платформе Windows (уязвимость BatBadBut).


    Подверженность функции openssl_private_decrypt атаке Marvin.


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=61332

Жизнь за Нер'зула!

Ответить