В GitLab устранена критическая уязвимость

Выпущены внеплановые корректирующие обновления платформы для организации совместной разработки 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, и позволяет любому аутентифицированному пользователю войти в систему под другим пользователем, в том числе под администратором.

В качестве обходных способов для блокирования уязвимости можно добавить в настройки /etc/gitlab/gitlab.rb строку

nginx['custom_gitlab_server_config'] = "location ^~ /admin/users/stop_impersonation { deny all; }n"

и перезапустить GitLab («sudo gitlab-ctl reconfigure») или заблокировать доступ к обработчику /admin/users/stop_impersonation на уровне http-сервера:

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

Кроме того, в новых выпусках устранено ещё несколько уязвимостей: повышение привилегий через notes API (можно добавить произвольное примечание к любому запросу на изменение или сообщению), повышение привилегий через webhook API (можно читать и удалять webhooks приватных проектов), четыре XSS-уязвимости (межсайтовый скриптинг) и четыре утечки закрытой информации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.