CVE-2022-36804

Atlassian Bitbucket Server and Data Center

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-09-30

Официальное описание

Multiple API endpoints of Atlassian Bitbucket Server and Data Center contain a command injection vulnerability where an attacker with access to a public Bitbucket repository, or with read permissions to a private one, can execute code by sending a malicious HTTP request.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2022-36804 представляет собой критическую уязвимость типа Command Injection (инъекция команд) в нескольких API-эндпоинтах Atlassian Bitbucket Server и Data Center. Проблема возникает из-за недостаточной фильтрации входных данных в параметрах запроса, которые передаются напрямую в команды Git на стороне сервера.

Злоумышленник, имеющий доступ к публичному репозиторию или права на чтение приватного репозитория, может отправить специально сформированный HTTP-запрос и выполнить произвольный код в контексте пользователя, от имени которого запущен сервис Bitbucket. Уязвимость имеет оценку CVSS 9.9.

Как исправить

Единственным надежным способом устранения уязвимости является обновление Bitbucket до исправленной версии. Выберите соответствующую версию в зависимости от вашей текущей ветки:

  1. Скачайте актуальный дистрибутив с официального сайта Atlassian.
  2. Создайте резервную копию базы данных и домашней директории (BITBUCKET_HOME).
  3. Установите обновление для вашей версии:
  4. Если вы используете 7.x: обновитесь до 7.6.17, 7.17.10, 7.21.4 или выше.
  5. Если вы используете 8.x: обновитесь до 8.0.3, 8.1.3, 8.2.2, 8.3.1 или выше.

Команда для проверки текущей версии (в Linux):

grep "bitbucket.version" /opt/atlassian/bitbucket/bin/version.sh

Временные меры

Если немедленное обновление невозможно, примените следующие меры для снижения риска:

  1. Отключите возможность публичного просмотра репозиториев (Public Access), чтобы ограничить круг лиц, способных эксплуатировать уязвимость без аутентификации.

  2. Если вы используете Bitbucket Mesh, его необходимо обновить отдельно до исправленной версии.

  3. Настройте правила на Web Application Firewall (WAF) для блокировки подозрительных запросов к API, содержащих символы инъекции команд в параметрах (например, --exec, ..).

  4. В качестве экстренной меры (если обновление недоступно) можно временно ограничить доступ к HTTP-протоколу для Git, оставив только SSH, однако это может не полностью закрыть все векторы через REST API.