The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Уязвимость в GitLab 16, позволяющая прочитать файлы на сервере (доступен эксплоит)

24.05.2023 13:59

В представленном 22 мая выпуске платформы для организации совместной разработки GitLab 16.0 выявлена критическая уязвимость (CVE-2023-2825), позволяющая неаутентифицированному пользователю получить содержимое любого файла на сервере, насколько это позволяют права доступа процесса, обрабатывающего запросы. Уязвимости присвоен наивысший уровень опасности (10 из 10). Проблема устранена в обновлении GitLab 16.0.1 и затрагивает только ветку 16.0. Информация об уязвимости передана в GitLab в рамках действующей на HackerOne программы выплаты вознаграждений за обнаружение уязвимостей.

Подробности эксплуатации пока не приводятся, их обещают опубликовать через 30 дней после исправления. Известно лишь, то, что уязвимость вызвана ошибкой проверки файловых путей, позволяющей выйти за пределы базового каталога и прочитать содержимое произвольных файлов при наличии вложения в публичном проекте, входящем как минимум в 5 групп.

Из новых возможностей ветки GitLab 16 можно отметить панель Value Streams для отслеживания изменения метрик, связанных с распространением проекта, частотой внедрения, выявлением проблем и временем их исправления. Также добавлена поддержка шаблонов комментариев, появилась кнопка для обновления форка репозитория через перенос изменений из основного проекта, реализован API для обновления токенов, добавлена возможность определения фильтров при импорте репозиториев с GitHub, обеспечена возможность вставки emoji-реакций в задачи, интегрирована функциональность для назначения отдельного поддомена для каждого проекта GitLab Pages, добавлена поддержка аутентификации с использованием персональных токенов Jira. Расширены возможности Web IDE, связанные с поддержкой удалённых рабочих пространств и выводом рекомендаций при написании кода.

Дополнение: В открытом доступе появился прототип эксплоита, демонстрирующий способ использования уязвимости для получения содержимого файла /etc/passwd на сервере с GitLab 16.0.0, а также опубликовано описание сути уязвимости (отсутствие корректной обработки последовательности "..%2f" в пути доступа к загруженным вложениям).

  1. Главная ссылка к новости (https://about.gitlab.com/relea...)
  2. OpenNews: Уязвимость в GitLab, позволяющая запустить код при сборке в CI любого проекта
  3. OpenNews: Увольнение части сотрудников GitHub и GitLab
  4. OpenNews: Вторая за неделю критическая уязвимость в GitLab
  5. OpenNews: GitLab намерен удалять бесплатно размещённые проекты, неактивные в течение года (дополнено)
  6. OpenNews: Уязвимость в GitLab, позволяющая получить доступ к токенам Runner
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59190-gitlab
Ключевые слова: gitlab
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 14:02, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Прям sendmail какой-то
     
     
  • 2.5, Аноним (5), 14:15, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    При этом виноват во всё конечно же Ruby.
     
     
  • 3.7, Аноним (7), 14:20, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, не Руби, а возможность использовать именно таким способом. Использовали бы иначе, так бы не было.

    Увы, сложную вещь нельзя простенько накидать, даже если верится в доступность простоты.

     
     
  • 4.30, Аноним (30), 22:48, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо что ты нам это рассказал, также как и разработчикам Gitlab. Твое мнение учтут
     
  • 3.17, Аноним (-), 17:03, 24/05/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.3, Аноним (3), 14:08, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дружно смотрим код обновления GitLab 16.0.1 и начинаем читать файлы конкурентов.
     
     
  • 2.28, Аноним (-), 20:16, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А кусок кода куда смотреть не зацитируешь? Я бы парочке ну не то чтобы конкурентов, но недружественных субъектов задниц бы надрал по первое число. Иногда просто хочется "взять и у...ть" :)
     

  • 1.15, Аноним (15), 16:08, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > уязвимость вызвана ошибкой проверки файловых путей, позволяющей выйти за пределы базового каталога

    М-м-м-м, классика. Сколько их таких было уже. И даже «поблагодарить» за это некого, относительные пути настолько прочно въелись в сознание, что выкорчевать этот грязный хак уже, пожалуй, невозможно.

     
     
  • 2.16, scriptkiddis (?), 16:31, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что предлагаешь вмесоо них?
     
     
  • 3.20, Аноним (15), 17:50, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я предлагаю отказаться от механизма относительных путей в принципе. Но это сломает слишком много мозгов. Так что остаётся только уповать на то, что программист не забудет про нормализацию путей.
     
     
  • 4.23, Аноним (5), 18:08, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Айфоне нет понятия фс и пути в общесистемном понимании для обычных пользователей. Всё норм. Никто ничего не сломал.
     
     
  • 5.31, Аноним (7), 23:35, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто не видел эмулятор терминала с шеллом на Ойподе.
     
  • 5.41, Аноним (-), 00:00, 29/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ядро XNU про это все в курсе? С андроидом все аналогично, кстати. А насчет не сломал - помнится оно ломалось аж от смсок с хитрыми символами, чего уж там.
     
  • 2.19, Аноним (19), 17:46, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я уже писал, что все дело в лени. В том, чтобы не кушать лишнюю память и не строить свое виртуальное дерево каталогов и обрабатывать его самому своими силами. Проще ведь просто передать все напрямую в ОСь и не парится. Ну там любимых регэкспов по дороге накидать, чтобы типа фильтровать то, что нельзя. А надо так. Вот эти ".." обрабатывать самому. А в ОСь передавать уже готовый абсолютный путь.
     
     
  • 3.22, Аноним (5), 18:07, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Его вообще не надо никак обрабатывать, лол. Ошибку в ответ пошли нефига относительные пути присылать.
     
  • 3.39, Аноним (39), 14:08, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Регэкспы", "обрабатывать самому"...

    Вот так и пишется столько дырявого ПО

    man 3 realpath

     

  • 1.21, совсем не аноним (?), 17:51, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чет я не очень понял про опасность 10 из 10 и про "насколько это позволяют права доступа процесса, обрабатывающего запросы".
    То есть максимум что можно получить это доступ к файлам которые доступны системному юзеру gitlab что резко сужает вектор атаки и вообще величину проблемы. задеть могло только васянов которые собирали из исходников под рутом получается, но они же сами знали на что шли когда так делали, не?
     
     
  • 2.24, Аноним (24), 18:25, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    10 из 10 -- потому что гитлаб предоставил максимально возможные права, которые смог. Или по-твоему 10 из 10 -- это когда гитлаб каким-то чудом выбирается из контейнера, получает рута в хосте, потом вылезает из VM, в котором крутился хост, и там тоже получает рута, потом взламывает ядро и выполняет код на его уровне?
     
     
  • 3.26, ыы (?), 20:04, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ...на всех компах в локалке....
     
     
  • 4.32, Аноним (7), 23:36, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ... все SSH ключи собрал.
     

  • 1.25, ДМИТРИЙ НАГИЕВ (?), 19:52, 24/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вопрос икзпердам: почему Gitea не взлетел?
     
     
  • 2.27, Аноним (27), 20:09, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    embedded CI/CD
     
     
  • 3.37, Аноним (37), 09:36, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вероятно.

    Вместо универсальной подключаемости ко всему (коннекторы и т.д.) был сделан комбайн. А сил столько, сколько у Атласиана, например, не было. Всюду одновременно не успели?

    У других Гит отделён от code review и CI/CD сервиса. Почему-то. Да и написано было на Яве, у других.

     
  • 2.29, Sw00p aka Jerom (?), 21:28, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не на расте:)
     
  • 2.33, Аноним (7), 23:40, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > почему Gitea не взлетел?

    Не пробовали рекламировать, видимо.

     
  • 2.34, Аноним (7), 23:42, 24/05/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А почему Мелкомягкие успешны... Тоже ведь...
     
  • 2.35, Аноним (35), 00:00, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ничего хорошего начинаться с трех букв git.. в принципе не может.
     
     
  • 3.36, anonymous (??), 08:31, 25/05/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что предлагаешь использовать?
     
     
  • 4.40, Аноним (40), 01:37, 26/05/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ртуть
     

  • 1.38, Аноним (37), 09:40, 25/05/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ну просто глядя на их веб интерфейс, чувство, что под капотом тот же кавардак.

    Сначала ты успеваешь увидеть: ваш билд/мёрж упал.
    И тут оно такое: а, нет, отбой, нормально бежит билд.

    Месиво костылей, без возможности настроить/приспособить как нужно.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру