Security Lab

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

Дата публикации:01.11.2005
Дата изменения:17.10.2006
Всего просмотров:9374
Опасность:
Средняя
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Уязвимые версии: PHP 4.4.0 и более ранние версии, 5.0.5 и более ранние версии

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

1. Массив "GLOBALS" является недостаточно защищенным. Удаленный пользователь может переопределить глобальные переменные с помощью "multipart/form-data" POST запроса со специально сформированным полем file upload или посредством сценария, вызывающего функцию "extract()" или "import_request_variables()". Удачная эксплуатация уязвимости требует, чтобы опция register_globals была включена в конфигурационном файле PHP.

2. Обнаружена ошибка при обработке входных данных в функции "parse_str()", когда эта функция вызывается только с одним параметром. Злоумышленник может отключить memory_limit во время обработки входных данных в функции parse_str() путем отправки уязвимой функции большого количества переменных. Функция parse_str(), на время обработки входных данных, включает опцию register_globals, и если во время выполнения функции произойдет отключение memory_limit, то опция register_globals останется включенной до перезагрузки web сервера.

3. Межсайтовый скриптинг возможен при обработке входных данных в функции phpinfo(). Удаленный пользователь может с помощью специально сформированного URL выполнить произвольный HTML сценарий в браузере жертвы в контексте безопасности уязвимого сайта.

4. Удаленный пользователь может обойти механизмы безопасности "safe_mode" и "open_basedir" с помощью модулей "ext/curl" и "ext/gd".

5. Неопределенная ошибка при вызове функции virtual() в Apache 2 может быть использована для обхода ограничений безопасности директив "safe_mode" и "open_basedir".

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

Решение: Установите последнюю версию (4.4.1) с сайта производителя.

Источники:

Ссылки: PHP File-Upload $GLOBALS Overwrite Vulnerability
PHP register_globals Activation Vulnerability in parse_str()
PHP Cross Site Scripting (XSS) Vulnerability in phpinfo()