Недавний двойной выпуск патчей PHP Group для исправления уязвимости веб-серверов является симптомом проблемы, которая хорошо знакома тем, кто отвечает за веб-серверы. Когда уязвимость локализуется в одном обновлении, это понятно, но что думать, когда следующий набор патчей, служит для исправления этой же уязвимости?
PHP, введённый в 1995 году и в настоящее время доступный в версии 5.4.2, это скриптовый язык, который позволяет создавать динамические веб-страницы. Будучи альтернативным ASP от Microsoft, PHP встраивается в HTML код и работает на стороне сервера, когда HTML страница запускается в браузере клиента. Считается, что PHP используется на более чем миллионе веб-серверов по всему миру и является одним из основных компонентов примерно двадцати миллионов сайтов.
Ранее PHP Group выпустила две новые версии PHP процессора для устранения CGI уязвимости, которая связана с использованием символа « — » в строке, содержащей URL запрос. Эта уязвимость делает возможным использовать этот символ в процессоре PHP в качестве префикса к одной букве, следующей за ним, в результате чего часть строки будет интерпретирована как параметр командной строки. Параметр командной строки может заставить PHP процессор выявить скрытые данные или выполнять код из удалённого источника.
Тем не менее, исследователи безопасности обнародовали, каким образом на исправленных версиях процессора PHP можно обойти эту уязвимость. PHP Group, объявила о планах выпустить другую версию процессора PHP, чтобы окончательно решить этот вопрос.
Немедленное решение проблемы также было описано, но оно налагает ограничения на использование символа « — », и может рассматриваться лишь как краткосрочное средство. Более серьезной проблемой является реакция администратора сервера, который, увидев первый набор патчей PHP, понимает уязвимость, и решается установить эти версии. Этот человек может затем расценить следующий патч, как дублирующий, направленный на устранение того же недостатка CGI и не побеспокоится установить следующую версию.
Правда, новая исправленная версия PHP может также решать другие проблемы, но то, что предыдущий набор патчей был выпущен, а затем признан неэффективным, только подчеркивает, насколько важно для администраторов веб-серверов не только быть в курсе, что нового происходит, но и понимать, что исправление иногда может быть неэффективным и оставить уязвимость без внимания.