(PT-2011-48) Positive Technologies Security Advisory
Множественные уязвимости в AtMail
Уязвимое ПО
Почтовый веб-интерфейс AtMail
Версия: 1.04 и ниже
Ссылка:
http://atmail.org/
Рейтинг опасности
Уровень опасности: Высокий
Воздействие: Множественные уязвимости
Вектор атаки: Удаленный
CVSS v2:
Base Score: 9.0
Vector: (AV:N/AC:L/Au:S/C:C/I:C/A:C)
CVE: отсутствует
Описание программы
Atmail - почтовый веб-интерфейс с открытым исходным кодом.
Описание уязвимости
Исследовательский центр Positive Research компании Positive Technologies обнаружил множественные уязвимости в почтовом веб-интерфейсе AtMail.
1. Загрузка произвольных файлов
В системе предусмотрена возможность загрузки файлов (прикрепленных к письмам вложений). Расширения загружаемых файлов не проверяются; таким образом, возможна загрузка произвольного файла, в том числе с расширением .php.
В результате загрузки файл будет доступен по адресу:
https://localhost/tmp/username@host.com/username@host.com-string-PositiveShell.php
2. Обход каталогов (Path Traversal)
Уязвимость в файле: /compose.php
Уязвимый фрагмент кода:
$var['unique'] = preg_replace('/\.\.\//', '', $var['unique']);
Из параметра $var['unique'] удаляется строка "../", но удаление происходит не рекурсивно. Таким образом, если параметр будет содержать строку "..././", то после удаления останется строка "../".
В результате возможно проведение атаки "обход каталогов" (Path Traversal).
Пример эксплуатации:
https://localhost/compose.php?
func=renameattach&unique=/..././..././..././..././..././..././..././..././..././..././..././.../
./tmp/positive.test%00&Attachment[]=/../../../../../../../../../etc/passwd
3. Копирование произвольных файлов
В системе предусмотрена возможность копирования прикрепляемых файлов, при этом не реализована проверка имени копируемого файла, что позволяет скопировать произвольный файл.
Имя создаваемого файла не проверяется на наличие специальных символов (например, null-байт), что позволяет создать файл с произвольным расширением.
Кроме того, используя уязвимость "обход каталогов", злоумышленник может создать файл в произвольном каталоге.
Уязвимость в файлах:
/compose.php
/libs/Atmail/SendMsg.php (методы "renameattach" и "copyFile")
Пример эксплуатации:
https://localhost/compose.php?func=renameattach&unique=1.txt%00&Attachment[]
=/../../../../../../../../../etc/passwd
После этого файл будет доступен по адресу:
https://localhost/tmp/username@host.com/username@host.com-1.txt
4. Чтение произвольных файлов
Проверка имени читаемого файла осуществляется некорректно - возможен обход механизма фильтрации. Это позволяет злоумышленникам прочитать произвольные файлы.
Уязвимость в файле: mime.php
Уязвимый фрагмент кода:
$var['src'] = rawurldecode($_REQUEST['file']);
$var['src'] = preg_replace('/^.+[\\\\\\/]/', '', $var['src']); // Don't allow to go down a dir,
sanity check
Если в имени файла содержится символ "/", то все символы до него будут удалены.
Однако в регулярном выражении не используется модификатор "s", символ %0a будет воспринят как два символа (переход на новую строку + возврат каретки).
Управляющий символ "." в регулярном выражении без модификатора "s" может заменять только 1 символ; таким образом, проверка будет осуществляться до символа %0a.
Пример эксплуатации:
https://localhost/mime.php?file=%0A/../../../../../../../../../etc/passwd&name=positive.html
5. Раскрытие важных данных
Файл info.php вызывает функцию phpinfo(). Функция phpinfo() отображает информацию о конфигурации системы.
https://localhost/install/info.php
Решение
Установите последнюю версию приложения
Статус уведомления
06.12.2011 - Производитель уведомлен
06.02.2012 - Детали уязвимости отправлены в CERT
26.03.2012 - Производитель выпустил исправление
26.03.2012 - Публикация уязвимости
Благодарности
Уязвимость обнаружил Сергей Щербель (Исследовательcкий центр Positive Research компании Positive Technologies)
Ссылки
http://www.securitylab.ru/lab/PT-2011-48
http://www.kb.cert.org/vuls/id/743555
Список отчетов о ранее обнаруженных уязвимостях 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 - это команда высококвалифицированных разработчиков, консультантов и экспертов, которые обладают большим практическим опытом, имеют профессиональные звания и сертификаты, являются членами международных организаций и активно участвуют в развитии отрасли.