Технический отчет по эксплуатации CVE-2021-22205: RCE в GitLab
Отказ от ответственности: Данная статья написана в образовательных целях. Автор не несет ответственности за попытки применения данных техник на реальных объектах без согласия владельца. Не нарушайте закон.
Информация: В данной статье рассматривается сценарий эксплуатации критической уязвимости в GitLab. Материал подготовлен на базе учебного стенда и демонстрирует риски использования устаревшего ПО в корпоративной среде.
Дата: 10 февраля 2026 г.
Статус: Критическая уязвимость (RCE)
Тип тестирования: Black Box
Вектор атаки: External
1. ОСНОВНЫЕ ПОЛОЖЕНИЯ#
1.1 Общее описание#

В ходе планового тестирования был проанализирован инстанс GitLab, доступный по адресу <IP>. В результате анализа была обнаружена и успешно проэксплуатирована критическая уязвимость, позволяющая неавторизованному злоумышленнику полностью захватить контроль над сервером.
1.2 Ключевые риски#
Конфиденциальность: Злоумышленник получает доступ ко всем репозиториям, исходному коду, секретам (API-ключам) и базе данных пользователей.
Целостность: Возможность внедрения вредоносного кода в разрабатываемые продукты.
Доступность: Риск полной остановки работы сервиса или удаления всех данных.
1.3 Итоговая оценка риска#
| Параметр | Значение |
|---|---|
| Уровень критичности | КРИТИЧЕСКИЙ (CRITICAL) |
| Сложность эксплуатации | Низкая (доступны публичные эксплойты) |
| Требования к аутентификации | Не требуются |
2. ТЕХНИЧЕСКИЙ ОТЧЕТ#
2.1 Обнаруженная уязвимость#
Название: Удаленное выполнение произвольного кода через ExifTool (Unauthenticated RCE).
Идентификатор: CVE-2021-22205
Оценка CVSS v3.1:
10.0 / 10.0
2.2 Описание вектора атаки#
Уязвимость связана с некорректной обработкой метаданных изображений в библиотеке ExifTool, используемой компонентом GitLab Workhorse. Злоумышленник может отправить специально сформированный файл на эндпоинт загрузки (даже если регистрация требует одобрения), что приведет к выполнению кода на стороне сервера.
2.3 Воспроизведение#
Шаг 1: Сканирование целевого узла
Bash
| |

Шаг 2: Эксплуатация через Metasploit Framework
Использован модуль exploit/multi/http/gitlab_exif_rce.
Bash
| |

Шаг 3: Подтверждение доступа
После выполнения эксплойта получена интерактивная сессия Meterpreter с правами пользователя git.
Bash
| |
3. План исправления#
3.1 Срочные меры#
Обновление системы: Незамедлительно обновить GitLab до последней актуальной версии. Минимально допустимые версии для устранения данной уязвимости: 13.10.3, 13.9.6 или 13.8.8.
Аудит сессий: Проверить логи сервера на предмет подозрительных POST-запросов к
/uploads/userза последние 30 дней.
3.2 Рекомендации по укреплению защиты#
Сегментация: Ограничить доступ к GitLab на уровне сетевого экрана (Firewall), разрешив подключения только из доверенных VPN-подсетей компании.
Использование WAF: Настроить Web Application Firewall (например, ModSecurity) для блокировки сигнатур, характерных для манипуляций с Exif-данными в HTTP-запросах.
4. ПРИЛОЖЕНИЯ#
- Инструментарий: Metasploit Framework, Nmap.