The OpenNET Project / Index page

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

Обновление Git с устранением уязвимостей

29.05.2018 21:09

Представлены корректирующие выпуски всех поддерживаемых веток системы управления исходными текстами Git (2.17.1, 2.13.7, 2.14.4, 2.15.2, 2.16.4), в которых устранены две уязвимости, одна из которых может быть использована для запуска кода злоумышленника при обращении к вредоносному репозиторию. Обновления пакетов с устранением проблемы выпущены для Debian и Fedora, и ожидаются для RHEL, Ubuntu и SUSE.

  • CVE-2018-11235 - возможность выхода за границы базового каталога репозитория через использование символов "../" в относительном пути к субмодулю, определённому в файле ".gitmodules". Штатно субмодули размещаются внутри собственного каталога .git/modules/, но благодаря уязвимости имеется возможность выхода за его пределы при выполнении операции извлечения субмодуля.

    При обращении пользователя к контролируемому злоумышленником репозиторию возможна организация атаки по созданию/переписи файла вне каталога ".git" с правами текущего пользователя. Атака может быть доведена до запуска кода на сервере при рекурсивном клонировании вредоносного репозитория, например, через подстановку скрипта post-checkout в файл .git/config. Для эксплуатации уязвимости клиент обязательно должен выполнить "git clone --recurse-submodules" или "git clone --recursive", при простом клонировании без субмодулей проблема не проявляется;

  • CVE-2018-11233 - чтение случайных частей памяти процесса git через создание в файловой системе NTFS специально оформленных путей.

Дополнительно в новых выпусках добавлена возможность блокирования на стороне сервера push-операций с попыткой создания проблемного файла .gitmodules в качестве превентивной меры защиты от добавления вредоносных репозиториев в системах совместного хостинга кода. Режим блокировки включается наряду с другими мерами усиления защиты при наличии параметра receive.fsckObjects в настройках на стороне сервера. Например, ранее подобным образом уже было запрещено создание каталога ".GIT" с изменением регистра символов.

  1. Главная ссылка к новости (https://lkml.org/lkml/2018/5/2...)
  2. OpenNews: Представлена вторая версия протокола Git
  3. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.17
  4. OpenNews: Метод подстановки троянского кода, невидимого при просмотре в git diff
  5. OpenNews: Уязвимость в Git, Subversion и Mercurial, допускающая подстановку команд через URL ssh://
  6. OpenNews: Выпуск Git 2.4.11, 2.5.5 и 2.6.6 и 2.7.4 с устранением критических уязвимостей
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/48680-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Андрей (??), 23:51, 29/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > всех поддерживаемых веток системы управления исходными текстами Git (2.17.1, 2.13.7, 2.14.4, 2.15.2, 2.16.4)

    $ gitk origin/ [tab-tab]
    origin/HEAD     origin/maint    origin/master   origin/next     origin/pu       origin/todo

    Где они?

     
     
  • 2.2, Аноним (-), 00:47, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Очевидно, в виде тэгов, которые ты не осилил.
     
     
  • 3.4, Андрей (??), 08:59, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Причём тут тэги? Как можно какой-то код поддерживать, если его нет в соответствующей ветке?
     
     
  • 4.5, Аноним (-), 09:11, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    При том, что тег это легкая ветка, RTFM
     
     
  • 5.28, Аноним (-), 23:54, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет в гите легких и тяжелых веток!

    Ветка - это файл в директории .git/refs/heads/ размером 41 байт.
    в этом файле хеш коммита.
    Тег - это файл в директории .git/refs/tags/ тоже размером 41 байт.
    Если это подписанный или аннотированный тег, то создаётся объект в .git/objects/, этот объект указывате на коммит, и в файле (в .git/refs/tags/) хеш этого объекта.

    Так что ветка никак не может быть "легче" тега.
    Либо одинаково, либо тег это ещё и дополнительный объект.

     
  • 3.7, Аноним (-), 12:33, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А чем тег легче ветки? Тем, что его надо вручную двигать?
     
     
  • 4.9, Andrey Mitrofanov (?), 13:31, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем тег легче ветки? Тем, что его надо вручную двигать?

    Децкий сааад!  Тем, что его _не_ надо двигать.

     
     
  • 5.10, Аноним (-), 14:24, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дяденька взрослый, объясните тогда несмышлёнышу, если тег не двигать, как же он будет выполнять функции лёгкой ветки? Ведь в ветку же можно добавлять коммиты, это ведь её отличие от тега?
     
     
  • 6.11, Andrey Mitrofanov (?), 14:36, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Дяденька взрослый, объясните тогда несмышлёнышу, если тег не двигать, как же он
    > будет выполнять функции лёгкой ветки?

    Про ветки я не говорил. Я говорил, что таг двигать _не_ надо. Какое слово не понятно-то?

    >Ведь в ветку же можно добавлять
    > коммиты, это ведь её отличие от тега?

    А в "легковесную", видимо, нельзя.  Она такая -- легковесная.  Наверное[I]![/I]

    Но ты мне в этом не верь -- переспроси у того доброхота, который это простое, "понятное" и совершенно бесполезное объяснение/объярлычивание придумал и вытащил тебе на потеху.

     
     
  • 7.13, Аноним (-), 14:46, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > переспроси у того доброхота, который это простое, "понятное" и совершенно бесполезное объяснение/объярлычивание придумал и вытащил тебе на потеху

    Так я и хотел, чтобы тот доброхот объяснил, что он в виду имел. Жаль, веткой ошибся, отвечая ему. А тут ещё ты не в тему влез со своим снобизмом, окончательно порушив всю потеху.

     
     
  • 8.14, Andrey Mitrofanov (?), 14:53, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, и славно Я победил двух анОнимов-засерь успех ... текст свёрнут, показать
     
     
  • 9.16, Аноним (-), 14:57, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Разблокировано достижение В каждой бочке затычка ... текст свёрнут, показать
     
     
  • 10.17, Andrey Mitrofanov (?), 15:01, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Достижение сомнительное Но, поздравляю, чо, за неимением лучшего ... текст свёрнут, показать
     
  • 6.12, Andrey Mitrofanov (?), 14:39, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ##>>Децкий сааад!
    > Дяденька взрослый, объясните тогда

    Только, когда читать научишься.

    Это сложно -- нужно тренероваться. Не путать свои выдумки с прочитанным.

    >несмышлёнышу, если тег не двигать, как же он
    > коммиты, это ведь её отличие от тега?

     
     
  • 7.15, Аноним (-), 14:54, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > когда читать научишься.
    > нужно тренероваться
    > тренEроваться

    Писать правильно научитесь, дяденька, потом поучайте. Паучат. :)

     
     
  • 8.18, Ydro (?), 18:20, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Бабий аргумент это перевод спора в другую плоскость Причём, по женской она ж... текст свёрнут, показать
     
     
  • 9.19, Andrey Mitrofanov (?), 18:37, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Строение половых органов и или секс -идентификация совершенно не при чём Ему не... текст свёрнут, показать
     
     
  • 10.20, Аноним (-), 19:19, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А читать научись и нужно тренероваться - это что ли аргументация Или всё-та... текст свёрнут, показать
     
     
  • 11.21, Andrey Mitrofanov (?), 19:39, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это тонкий, почти незаметный и истончённый , намёк на то, что там написано не то... текст свёрнут, показать
     
  • 2.8, Andrey Mitrofanov (?), 13:30, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> всех поддерживаемых веток системы управления исходными текстами Git (2.17.1, 2.13.7, 2.14.4, 2.15.2, 2.16.4)
    > $ gitk origin/ [tab-tab]
    > origin/HEAD     origin/maint    origin/master  
    > origin/next     origin/pu      
    >  origin/todo
    > Где они?

    Брысь!

    git branch --contains v2.17.1
    git describe --tags maint
    git log --decorate -1 v2.17.1

     
     
  • 3.22, Андрей (??), 01:08, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Где они?
    > Брысь!

    Тэги - брысь?

    $ git branch --contains v2.13.7
    * master
    $ git branch --contains v2.14.4
    * master
    $ git branch --contains v2.15.2
    * master
    $ git branch --contains v2.16.4
    * master
    $ git branch --contains v2.17.1
    * master

    Всё то, что ожидаешь в maint находится в... master!?

    $ git describe --tags maint
    fatal: Not a valid object name maint
    $ git describe --tags origin/maint
    v2.17.1

    О, 2.17.1 и в maint есть. Так в master или maint?

    $ git log --decorate -1 v2.17.1
    commit fc54c1af3ec09bab8b8ea09768c2da4069b7f53e (tag: v2.17.1, origin/maint)
    Author: Junio C Hamano <gitster@pobox.com>
    Date:   Tue May 22 14:28:26 2018 +0900

        Git 2.17.1
        
        Signed-off-by: Junio C Hamano <gitster@pobox.com>

     
     
  • 4.23, anonymous (??), 08:52, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > О, 2.17.1 и в maint есть. Так в master или maint?

    Прикинь, один и тот же коммит может быть в нескольких ветках. Убивают, караул.

     
  • 4.24, Andrey Mitrofanov (?), 09:41, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Где они?
    >> Брысь!
    > $ git branch --contains v2.17.1
    > * master

    git branch -a --contains v2.17.1

    > Всё то, что ожидаешь в maint находится в... master!?

    Подрастёшь...

    >Так в master или maint?

    ...узнаешь.

    > $ git log --decorate -1 v2.17.1
    > commit fc54c1af3ec09bab8b8ea09768c2da4069b7f53e (tag: v2.17.1, origin/maint)

     
     
  • 5.25, Андрей (??), 16:16, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю, что если мне надо посмотреть комиты стабильной или oldstable ветки какого ПО, то я делаю gtik origin/gtk-3-22, origin/gtk-3-20. KISS.
    А как мне в gitk увидеть историю комитов 2.13.0 .. 2.13.7 уже не очевидно.
     
  • 5.26, Андрей (??), 16:48, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://git-scm.com/docs/gitworkflows#_maintenance_branch_management_after_a_f

    >After a feature release, you need to manage your maintenance branches.
    >
    >First, if you wish to continue to release maintenance fixes for the feature release made before the recent one, then you must create another branch to track commits for that previous release.
    >
    >To do this, the current maintenance branch is copied to another branch named with the previous release version number (e.g. maint-X.Y.(Z-1) where X.Y.Z is the current release).

    Чётко: хотите сопровождать старые релизы: создавайте соответствующие ветки.

    Почему же сами разработчики git используют какую-то другую технику, и где она описана?

    Documentation/howto/maintain-git.txt:

    - 'maint' branch is used to prepare for the next maintenance
       release.  After the feature release vX.Y.0 is made, the tip
       of 'maint' branch is set to that release, and bugfixes will
       accumulate on the branch, and at some point, the tip of the
       branch is tagged with vX.Y.1, vX.Y.2, and so on.

    Сведений о том, как поддерживать более чем одну серию maint-релизов я там не нашёл.

     
     
  • 6.27, Andrey Mitrofanov (?), 18:11, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Чётко: хотите сопровождать старые релизы: создавайте соответствующие ветки.
    > Почему же сами разработчики git используют какую-то другую технику, и где она
    > описана?

    Очевидно же, что они, "разработчики", совсем не хотят "сопровождать".

    Пусть кто-нибудь-другой.(ц)Гомер

    Они, как Торрвальдс[I]!

     
     
  • 7.29, Андрей (??), 00:17, 03/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не только мне надо подрасти. И у тебя познания быстро закончились. Ну, ничего, подрастёшь, когда-нибудь узнаешь.
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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