Критическая уязвимость в PHP 5.3.9, позволяющая выполнить код на сервере

Breeze

goshogun
Команда форума
Партнер клуба
"...По иронии судьбы, уязвимость связанна с некорректным устранением менее опасной проблемы безопасности в прошлой версии PHP. Для защиты от совершения DoS-атаки, которая может быть вызвана проблемой с предсказуемыми коллизиями в реализации алгоритма хэширования, в PHP 5.3.9 была добавлена директива max_input_vars, позволяющая ограничить число входящих параметров для поступающих HTTP-запросов. В реализации данной директивы была допущена досадная ошибка, которая сделала возможным совершение более опасной атаки..."

http://www.opennet.ru/opennews/art.shtml?num=32976
 

fixxxer

К.О.
Партнер клуба
Важные уточнения:

1) Уязвимость может быть и в более ранних версиях, т.к. добавление max_input_vars, т.к. это секьюрити-фикс, мейнтенеры многих дистрибутивов бэкпортировали (типичным для мейнтенеров дистрибутивов способом наложения патча без включения головы). Проверяется наличием max_input_vars.
2) Уже вышел 5.3.10 с фиксом.
3) Если верить Stefan-у Esser-у, ликующему у себя в твиттере =), с suhosin extension с дефолтными настройками, бояться нечего; если установлен suhosin patch, эксплуатация уязвимости тоже маловероятна. Я хоть suhosin-ы и не юзаю, ему верю, он хоть и скверен характером, но с матчастью у него все хорошо.
4) Если обновиться/откатиться по какой-то неведомой причине не представляется возможным, на самый крайний случай можно просто задрать max_input_vars=100500.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
*патчит сервачог*
 

Sender

Новичок
Обновился до 5.3.10, nginx до 1.0.11,1

freebsd + nginx + php-fpm, в результате перестали падать логи php в error.log, nginx свои ошибки пишет, а ошибки php перестал писать.

Пока что перенаправил error_log = syslog

Кто-нибудь с подобным сталкивался? До обновления все работало.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Sender
+1, сам думаю как чинить...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Стандартное, php-fpm, nginx, mysql под debian/ubuntu. Ошибки через кастом еррор хэгдлер вроде пахали, надо проверить будет завтра. Но это вообще вротмненоги, не первый раз уже фиксят одно и ломают другое
 

Sender

Новичок
Репорти на bugs.php.net, я подтвержу для Freebsd, я правда не знаю с какой версии это началось.

Имхо надо на выходных посмотреть дифф сорцов :) Судя по changelog'у там немного менялось в 5.3.9 в плане работы error_log
 
Сверху