Уязвимость SVN всех версий
Нами была найдена уязвимость SVN всех версий, с помощью которой можно получить исходные коды проекта.
Уязвимость имеет силу на проектах, исходные коды которого обновляются через SVN и вебсервер не запрещает читать скрытые директории. По умолчанию ни один вебсервер это не делает.
Степень угрозы: средняя/высокая
Архитектура SVN предусматривает хранение метаданных и версионную информацию файла для каждой директории исходных кодов. Данные находятся в метадиректории «.svn». Получив доступ к ней, можно как минимум построить файловое дерево проекта, узнать URL основного репозитория и список пользователей SVN, как максимум — получить доступ к исходным кодам проекта.
Исследование было произведено совместно с Антоном Исайкиным.
Способы защиты
Закрыв доступ на чтение из скрытых директорий на сервере, вы обезопасите себя от подобных уявимостей.
Nginx (лучший вебсервер всех времён и народов, кстати)
location ~ /.svn/ {
deny all;
}
Apache
<Directory ~ ".*\.svn">
Order allow,deny
Deny from all
Satisfy All
</Directory>
SVN
