PT-2012-52: Открытая переадресация в DokuWiki

Уязвимое ПО

DokuWiki
Версия: 2012-10-13 "Adora Belle" и более ранние

Ссылка: 
http://www.splitbrain.org/projects/dokuwiki

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

Уровень опасности: Средний 
Воздействие: Открытая переадресация
Вектор атаки: Удаленный

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

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

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

DokuWiki – это простой Wiki-движок, который может быть использован для создания любой документации. Он работает с простыми текстовыми файлами и поэтому не нуждается в базе данных.

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

Специалисты Исследовательского центра Positive Research компании Positive Technologies обнаружили уязвимость "Открытая переадресация" в /lib/exe/fetch.php.
Легитимный запрос выглядит следующим образом:

/lib/exe/fetch.php?media=http://i.imgur.com/IX1g8.jpg&hash=4fae2b

Параметр "hash" предназначен для защиты от открытой переадресации и вычисляется следующим образом:

substr(md5(auth_cookiesalt().$media),0,6)

Значение auth_cookiesalt() недоступно, однако сравнение параметра "hash" и первых шести символов MD5-хэша производится неправильно:

 

if(substr(md5(auth_cookiesalt().$media),0,6) != $_REQUEST['hash']){
return array( 412, 'Precondition Failed');
}

 

Представим сценарий, когда атакующий последовательно отправляет запросы вида:

/lib/exe/fetch.php?media=http://evilhost.com/?1&hash=0
/lib/exe/fetch.php?media=http://evilhost.com/?2&hash=0
...
/lib/exe/fetch.php?media=http://evilhost.com/?100&hash=0

Потребуется лишь несколько тысяч запросов, когда первые шесть символов MD5-хэша (например, 0e1234, 0e1337) пройдут проверку на равенство "0", и таким образом, будет проведен успешный обход защиты.

Решение

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

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

22.10.2012 - Производителю отправлены детали уязвимости
06.03.2013 - Производитель выпустил исправление
19.03.2013 - Публикация уязвимости

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

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

Ссылки

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

Список отчетов о ранее обнаруженных уязвимостях Positive Research:

http://www.ptsecurity.ru/lab/advisory/
http://www.securitylab.ru/lab/