Уязвимости в PHP

22/09/2004 11:05

Сообщается о двух обнаруженных уязвимостях в PHP, которые потенциально могут быть использованы злоумышленниками для раскрытия конфиденциальной информации и атаки на уязвимую систему. Первая проблема связана с ошибкой при проверки границ при обработке переменных GET, POST и COOKIE в модуле "php_variables.c". Это приводит к тому, что при передаче специально сформированного параметра (он должен оканчиваться на открытую скобку - например: "abc[a][" ) происходит "утечка" памяти, не высвобождается буфер, расположенный в куче. Уязвимость присутствует в версиях 4.1.2 - 5.0.1.
Вторая проблема связана с глобальной переменной "$_FILES" - массивом, в котором хранятся локальные имена файлов, полученных в запросе (uploaded files). Проблема заключается в том, что этот массив возможно перезаписать специально созданным "Content-Disposition" заголовком в запросе. Это потенциально может быть использовано злоумышленниками для загрузки (upload) файлов в произвольное место, что в конце концов может позволить запустить произвольный скрипт на уязвимой системе.
Пример: Content-Disposition: form-data; name="userfile"; filename="../../../test.php"
Для успешного использования этой уязимости требуется чтобы в php-скрипте, на который происходит атака, использовалась переменная "$_FILES". Уязвимость присутствует в версиях 5.0.1 и более ранних.
Уязвимости исправлены, новые версии находятся в CVS репозитории.
Описание