Иб-специалист Уильям Боулинг (William Bowling) заработал 20 000 долларов, обнаружив критическую уязвимость в GitLab. Баг позволял добиться выполнения произвольного кода или похитить конфиденциальные данные с сервера.
Уязвимость Боулинг обнажил в марте 2020 года. Тогда эксперт заметил, что злоумышленник может получить произвольные файлы с сервера при перемещении issue из одного проекта GitLab в другой. Проблема была обусловлена отсутствием валидации имен файлов в функции UploadsRewriter. В итоге специалист продемонстрировал в своем отчете, что злоумышленник может эксплуатировать эту проблему, чтобы читать произвольные файлы с сервера, включая файлы конфигурации, токены и прочие конфиденциальные данные.
Изучая эту проблему далее, эксперт обнаружил, что она также может привести к удаленному выполнению произвольного кода. Недостаток распространялся как на локальные установки GitLab, так и на gitlab.com.
Инженеры GitLab отмечают, что атакующий мог эксплуатировать данную уязвимость, попросту создав собственный проект или группу, перемещая issue из одного проекта в другой.
Разработчики GitLab исправили уязвимость уже через несколько дней после получения сообщения от исследователя. Как было сказано выше, за этот баг Уильяму Боулингу выплатили вознаграждение в размере 20 000 долларов. Интересно, что это далеко не первое bug bounty Боулинга. За последние месяцы эксперт заработал на проблемах GitLab более 50 000 долларов, найдя сразу несколько критических и серьезных уязвимостей платформы.
В конец 2019 года, GitLab сообщала, что за прошедший год она выплатила исследователям более 500 000 долларов в рамках своей программы по вознаграждению за обнаруженные уязвимости.