Множественные уязвимости в PHP

Программа:
PHP 4.4.2, возможно более ранние версии
PHP 5.1.2, возможно более ранние версии
Опасность: Низкая

Наличие эксплоита: Да

Описание:
Обнаруженные уязвимости позволяют злоумышленнику пользователю обойти ограничения безопасности, вызвать отказ в обслуживании и произвести XSS нападение.

1. Уязвимость существует при вызове функции phpinfo() из-за того, что функция php_print_gpcse_array() проверяет только первые 4096 байт переменной массива. Удаленный пользователь может с помощью специально сформированного URL, длинной более 4096 байт, выполнить произвольный код сценария в браузере жертвы в контексте безопасности уязвимого сайта. Пример:

phpinfo.php?cx[]=ccccc..~4096chars…ccc[XSS]

2. Утечка памяти существует при обработке вызова функций. Локальный пользователь может с помощью специально сформированного PHP сценария вызвать отказ в обслуживании. Пример:

php -r ‘function cx(){ cx(); } cx();’
Segmentation fault: 11 (core dumped)

3. Уязвимость существует из-за недостаточной обработки входных данных в функции tempnam(). Локальный пользователь может выйти за пределы open_basedir и создать произвольное количество файлов на системе. Пример:

# php -r ‘function cx(){ tempnam("/www/", "../../../../../../var/tmp/cx"); cx(); } cx();’
/var: create/symlink failed, no inodes free
/var: create/symlink failed, no inodes free

4. Уязвимость существует из-за недостаточной проверки входных данных в функции copy(). Локальный пользователь может с помощью специально сформированной функции, содержащей "compress.zlib://" в имени файла обойти ограничения безопасности safe mode и получить доступ к важным данным на системе. Пример:

copy("compress.zlib:///etc/passwd", "/home/cxib/to/bandyta/passwd.txt");

URL производителя: www.php.net

Решение: Установите исправление, доступное по CVS.