Множественные уязвимости в 1C: Аркадия, в модуле tradecli.dll
1С:Аркадия Интернет-Магазин - совместный продукт фирмы 1C и Аркадия (Санкт-Петербург), позволяющий создать интернет-магазин, интегрированный с системой 1С:Предприятие 7.7. Вчера известная российская хакерская группа NERF gr0up нашла сразу несколько уязвимостей в модуле tradecli.dll (интерпретатор языка).
1. Раскрытие пути.
Exploit: http://host/scripts/tradecli.dll?template=nontexistfile
Выводит сообщение об ошибке, содержащее полный путь к рабочему каталогу (обычно /scripts).
Разработчикам продукта рекомендуется воздержаться от сообщения подробностей пользователю, а вместо этого выводить подробные сообщения в Event Log.
2. Чтение произвольного файла с диска.
Описание:
tradecli.dll - интерпретатор языка 1С: Аркадия. Он обрабатывает файл, указанный в template, интерпретирует теги,
начинающиеся на знак подчеркивания (напр, <_include...>),
все остальное читает без изменений, кладет в ASCIIZ строку и затем выводит как результат.
Путь, указанный в параметре template, не обрабатывается, поэтому, указывая в пути нужное количество
элементов подъема на каталог вверх (..\) и затем полный путь к файлу, можно считать файл с того диска,
к которому ссылается рабочий каталог tradecli.dll
Exploit: http://host/scripts/tradecli.dll?template=..\..\..\..\..\pathname\filename
Чтение бинарных файлов затруднено тем, что данные после символа с кодом 0 не отображаются.
Разработчикам рекомендуется проверять путь, указанный в параметре template, на корректность.
Администраторам веб-серверов, использующим этот продукт, рекомендуется ограничить права, с которыми запускается tradecli.dll,
чтобы не допустить чтения исходного текста скриптов и других файлов.
3. Зависание ISAPI-приложения (DoS)
Описание: при открытии файлов com1, com2 и т.д. приложение в windows NT зависает, что приводит к неработоспособности всего приложения,
и, соответственно, сайта
Exploit:
http://host/scripts/tradecli.dll?template=com1
http://host/scripts/tradecli.dll?template=com2
http://host/scripts/tradecli.dll?template=com3
http://host/scripts/tradecli.dll?template=con
http://host/scripts/tradecli.dll?template=prn
http://host/scripts/tradecli.dll?template=aux
Рекомендации разработчикам: в среде Windows перед открытием файла следует проверять его на предмет существования (FindOpen etc).
Рекомендации администраторам сервера: покорно ждать выхода нового релиза 1С: Аркадия.
----------------------------------------------
Bug found by buggzy, NERF Security gr0up, 2001
www.nerf.ru, buggzy@nerf.ru