Выпущены (https://about.gitlab.com/2016/05/02/cve-2016-4340-patches/) внеплановые корректирующие обновления платформы для организации совместной разработки GitLab 8.7.1, 8.6.8, 8.5.12, 8.4.10, 8.3.9 и 8.2.5, в которых устранена критическая уязвимость (CVE-2016-4340), позволяющая поднять свои привилегии в системе. Проблема присутствует в режиме "impersonate", появившемся в GitLab 8.2, и позволяет (https://gitlab.com/gitlab-org/gitlab-ce/issues/15548) любому аутентифицированному пользователю войти в систему под другим пользователем, в том числе под администратором.
В качестве обходных способов для блокирования уязвимости можно добавить в настройки /etc/gitlab/gitlab.rb строку
<font color="#461b7e">
nginx['custom_gitlab_server_config'] = "location ^~ /admin/users/stop_impersonation { deny all; }\n"
</font>
и перезапустить GitLab ("sudo gitlab-ctl reconfigure") или заблокировать доступ к обработчику /admin/users/stop_impersonation на уровне http-сервера:
<font color="#461b7e">
Nginx:
location ^~ /admin/users/stop_impersonation { deny all; }
Apache:
‹LocationMatch "^/admin/users/stop_impersonation"›
Order Deny,Allow
Deny from all
‹/LocationMatch›
HAProxy:
acl is_stop_impersonation path_beg /admin/users/stop_impersonation
acl is_delete method DELETE
http-request deny if is_delete is_stop_impersonation
</font>
Кроме того, в новых выпусках устранено ещё несколько уязвимостей: повышение привилегий через notes API (можно добавить произвольное примечание к любому запросу на изменение или сообщению), повышение привилегий через webhook API (можно читать и удалять webhooks приватных проектов), четыре XSS-уязвимости (межсайтовый скриптинг) и четыре утечки закрытой информации.
URL: https://about.gitlab.com/2016/05/02/cve-2016-4340-patches/
Новость: https://www.opennet.ru/opennews/art.shtml?num=44364