
GitLab принимает патч по email: токен открывает main
GitLab генерирует для каждого проекта уникальный email‑адрес, внутри которого находится строка‑токен glimt‑…. Токен не истекает и считается конфиденциальным, потому что им можно создавать задачи и запросы на слияние.
Исследователь из Aikido Security заменил часть адреса issue на merge-request, приложил файл .patch и указал в теме название ветки. GitLab принял письмо, создал коммит от имени владельца токена и добавил его в ветку main закрытого репозитория.
Если патч меняет файл .gitlab-ci.yml, запускается pipeline с правами того же пользователя. Через него можно получить переменные CI, секреты или использовать CI_JOB_TOKEN для дальнейших действий.
Почтовый канал игнорирует IP‑фильтры: в тестовом проекте веб‑доступ был заблокирован, но письмо прошло без препятствий. Ограничения зависят только от роли токена — Guest почти ничего не меняет, а Maintainer может писать в любые ветки и читать конфиги CI.
GitLab отреагировал, поправив документацию и уточнив, что входящая почта не подпадает под IP‑ограничения, но сам механизм остался прежним. Рекомендация — сбрасывать incoming‑email токен и проверять кодовые базы на наличие подобных адресов, как на обычные секреты.



Комментарии 0