PT-2012-27: Уязвимость определения сброшенного пароля любого пользователя в UMI.CMS

(PT-2012-27) Positive Technologies Security Advisory
Уязвимость определения сброшенного пароля любого пользователя в UMI.CMS

Уязвимое ПО

UMI.CMS
Версия: 2.8.5.2 и более ранняя

Ссылка: 
http://www.umi-cms.ru/

Рейтинг опасности

Уровень опасности: Высокий 
Воздействие: Получение привилегий администратора
Вектор атаки: Удаленный

CVSS v2: 
Base Score: 10 
Vector: (AV:N/AC:L/Au:N/C:C/I:C/A:C) 

CVE: отсутствует

Описание программы

UMI.CMS – система управления сайтами.

Описание уязвимости

Специалисты Исследовательского центра Positive Research компании Positive Technologies обнаружили уязвимость предсказуемости кода подтверждения на сброс пароля любого пользователя (в т.ч. администратора) и предсказуемости впоследствии сгенерированного нового пароля.

Уязвимый фрагмент кода: classes/modules/users/__forget.php

$avLetters = "$#@^&!1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM";
$size = strlen($avLetters);
$npass = "";
for($i = 0; $i < $length; $i++) {
$c = rand(0, $size - 1);
$npass .= $avLetters[$c];
}

Для сброса пароля пользователя необходимо указать его логин, определить существующий логин можно при попытке регистрации с проверяемым логином (ошибка класса error-login-exists). Уязвимость возможна, так как UMI.CMS получает случайные числа с помощью php-функции rand, при этом не инициализируя генератор случайных чисел с помощью функции srand, вызванной с параметром (SEED). В данном случае PHP автоматически вызывает функцию srand c предсказуемым на основе генерируемой сессии SEED, что позволяет определить каждый дальнейший результат вызова функций rand. Так же, при установке на ОС Windows данный код обеспечивает всего 2^15 возможных вариантов генерируемых токенов.

Решение

Установите последнюю версию приложения.

Статус уведомления

16.08.2012 - Производитель уведомлен
17.08.2012 - Производителю отправлены детали уязвимости
20.11.2012 - Производитель выпустил исправление
11.02.2013 - Публикация уязвимости

Благодарности

Уязвимость обнаружил Тимур Юнусов (Исследовательcкий центр Positive Research компании Positive Technologies)


Ссылки

http://www.securitylab.ru/lab/PT-2012-27

Список отчетов о ранее обнаруженных уязвимостях 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 - это команда высококвалифицированных разработчиков, консультантов и экспертов, которые обладают большим практическим опытом, имеют профессиональные звания и сертификаты, являются членами международных организаций и активно участвуют в развитии отрасли.