Критическая уязвимость в PHP

07.05.2012

Уважаемые пользователи VPS/VDS и выделенных физических серверов! Спешим обратить Ваше внимание на следующую информацию, которая может быть Вам полезной.

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

 

 Причина появления уязвимости следующая, и довольно проста:  в 2004 году разработчики языка PHP по неизвестным причинам удалили из кода проверку на знак ‘=’ в строке запроса. Согласно CGI RFC, при отсутствии знака ‘=’ непосредственно в строке запроса, сервер воспримет эту строку всего лишь как набор произвольных  символов, но  не как команду.  Тем не менее, с 2004 года в PHP удалили эту проверку, и теперь в ряде случаев аргумент вида «?-s «в URL воспринимается сервером как прямая команда -s к интерпретатору php-cgi. Кроме того, подобным способом можно направить к интерпретатору PHP любое количество параметров, что не только приведет  к отображению исходных кодов скриптов прямо в браузере, но и послужит причиной для  исполнения произвольного кода и т.д. От данной атаки, к сожалению нельзя обезопаситься  ни с помощью safe_mode, ни с помощью allow_url_include, ни какими-либо другими средствами php.ini.

В экстренном порядке подготовлены корректирующие выпуски PHP 5.3.12 и PHP 5.4.2, в которых предпринята попытка устранения указанной уязвимости. В качестве дополнительного пути блокирования проблемы, в Apache  можно использовать правила mod_rewrite:

RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]

Изучение выпущенных обновлений PHP 5.3.12 и PHP 5.4.2 показало, что они устраняют лишь частный случай эксплуатации и не исключают применения обходных путей совершения атаки. Дополнительные обновления PHP, полностью устраняющие уязвимость, будут выпущены в ближайшее время.

Внимание! Для PHP версии 5.2   указанная уязвимость не актуальна.

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

Безопасность Ваших серверов — в Ваших руках. Будьте бдительны!

Опубликовано в Новости | Нет комментариев »

Нет комментариев »

Нет комментариев

Оставить комментарий