Опасность: Критическая
Наличие эксплоита: Нет
Описание: Несколько переполнений буфера, утечка информации и другие уязвимости обнаружены в PHP. Локальный или удаленный пользователь может выполнить произвольный код на уязвимой системе.
1. Целочисленное переполнение буфера в функции pack().
Недостаточная проверка параметров, переданных функции pack(), позволяет
атакующему вызвать переполнение динамического буфера и выполнить
произвольный код внутри PHP сценария. Уязвимость позволяет атакующему
обойти ограничения безопасного режима и выполнить произвольный код с
привилегиями Web сервера. Маловероятно что этот сценарий может
эксплуатироваться удаленным атакующим, так как обычно эта функция не
используется для обработки данных внутри Web приложения.
2. Целочисленное переполнение буфера в функции unpack()
Недостаточная проверка параметров, переданных функции pack(), позволяет
атакующему вызвать утечку чувствительной информации из apache процесса.
Использование этой уязвимости в комбинации с уязвимостью 1 позволяет
локальному пользователю обойти canary систему защиты динамической
памяти. Обычно эта функция не используется для обработки данных внутри
Web приложения.
3. Обход safe_mode_exec_dir в мультипоточном PHP
В
безопасном режиме возможно выполнения команд только внутри
safe_mode_exec_dir каталога. Однако PHP не ограничивает "cd
[currentdir] ;" к любой выполняемой команде, когда PHP запущен в
мультипотоковом unix Web сервере. Локальный атакующий может обойти
ограничения safe_mode_exec_dir, внедряя команды оболочки в текущем
каталоге.
4. Обход safe_mode через обрезание пути
В безопасном
режиме путь к файлу незаметно обрезается на MAXPATHLEN байт перед
передачей в realpath(). В комбинации с некоторыми низкофункциональными
реализациями realpath() в glibc, атакующий может создать путь к файлу,
который обойдет ограничения безопасного режима.
5. Обрезание пути а realpath()
PHP использует realpath()
для получения реального пути файла. Однако некоторые выполнения
realpath() незаметно обрезают чрезмерно длинные имена файлов (в OpenBSD
и старых версиях NetBSD/FreeBSD). В результате возможна уязвимость
включения файла, если на системе используется типа такого: "include
"modules/$userinput/config.inc.php”.
6. Неправильная обработка отрицательных ссылок в unserialize()
Если представить отрецательную ссылку к unserialize(), то возможно
добавить ложное значение zvalues в hashtables. При уничтожении
hashtables, это может привезти к efree() произвольным адресам памяти и
выполнению произвольного кода на системе.
7. Ошибочная обработка ссылок на освобожденные данные в unserialize()
Дополнительно к ошибке 06, предыдущая версия unserializer переменной
позволяет установить ссылки к только что освобожденным записям в хеше
переменной. Атакующий может эксплуатировать уязвимость, чтобы создать
универсальную строку, которая передаст выполняемый код к произвольным
адресам памяти, когда она будет обработана unserialize(). Для AMD64
системах, уязвимость позволяет непосредственно выполнить shellcode,
содержащийся в строке. Эта уязвимость может удаленно эксплуатироваться
в популярных PHP приложениях, которые передают значения Куки
непосредственно к unserialize(). Примеры уязвимых приложений:
- phpBB2
- Invision Board
- vBulletin
- Woltlab Burning Board 2.x
- Serendipity Weblog
- phpAds(New)
URL производителя:http://www.php.net/
Решение:Установите PHP 4.3.10 & 5.0.3