The OpenNET Project / Index page

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

В Git устранена уязвимость, которая может привести к выполнению кода атакующего

05.10.2018 21:50

Доступны внеплановые обновления Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1 и 2.19.1, в которых устранена уязвимость (CVE-2018-17456), позволяющая атакующему выполнить свой код через подстановку специально оформленного файла .gitmodules в составе проекта, клонируемого с рекурсивным включением субмодулей (проблема проявляется только при выполнении операции "git clone --recurse-submodules").

Уязвимость вызвана тем, что извлекаемое из файла .gitmodules поле URL без проверки корректности значения передаётся в качестве аргумента в процесс "git clone". Если значение URL начинается с символа "-", то "git clone" обрабатывает его как опцию командной строки. Соответственно, злоумышленник имеет возможность через манипуляцию значением URL организовать выполнение произвольного скрипта в системе разработчика, выполняющего операцию клонирования.

В выпусках 2.17.2, 2.18.1 и 2.19.1 дополнительно добавлена fsck-проверка для выявления вредоносных репозиториев, эксплуатирующих вышеописанную уязвимость. Проверка выполняется на этапе извлечения или помещения данных в репозиторий. Настройка проверки производится через опцию "transfer.fsckObjects" в git-config. Примечательно, что проблемы с безопасностью, эксплуатируемые при помощи параметров файла ".gitmodules", ранее всплывали уже как минимум три раза.

  1. Главная ссылка к новости (https://lkml.org/lkml/2018/10/...)
  2. OpenNews: Обновление Git с устранением уязвимостей
  3. OpenNews: Уязвимость в Git, Subversion и Mercurial, допускающая подстановку команд через URL ssh://
  4. OpenNews: В Git устранено несколько уязвимостей
  5. OpenNews: Выпуск Git 2.4.11, 2.5.5 и 2.6.6 и 2.7.4 с устранением критических уязвимостей
  6. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.19
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49397-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 11:49, 06/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Правильно. Передавать CLI-аргументы должен только пользователь, для вызова программ из других программ должны быть API.
     
     
  • 2.3, Григорий Федорович Конин (?), 15:19, 06/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Таки что вы имеете против unix way????
     
     
  • 3.4, Анонимчег (?), 15:37, 06/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Таки то, что в данном случае это way в никуда. Ну или если угодно, road to hell, вымощенная благими намерениями.
     
     
  • 4.5, qqq (??), 16:26, 06/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    к сожалению API нужно будет стандартизовывать, поддерживать и так далее, потом для каких языков этот API? шельные пайпы как раз и придумали чтобы не утонуть во всяких API
     
     
  • 5.9, Аноним (9), 10:47, 07/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лол, так либо API надо стандартизовывать, чтобы с ним могли работать, либо вывод командной строки/exit-кодов и прочей фигни, чтобы с этим так же можно было работать (только в разы неудобнее и менее стабильно). Коммент - полный бред, нужно делать нормальную библиотеку.
     
  • 3.10, Аноним (9), 10:50, 07/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Еще один отросток. Unix-way - это exec программ? Что за бред? Unix-way - это то, что модуль должен делать только то, для чего он предназначен (узкое предназначение), а не systemd. Принцип связности-сцепления модулей - вот, вкратце, о чем unix way.

    https://en.wikipedia.org/wiki/Unix_philosophy#Rule_of_Modularity

    Начитались опеннетов, потому ябутся в комментариях.

     
  • 2.6, Michael Shigorin (ok), 17:22, 06/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы бы хоть немного понимали что-то в программировании и инфобезопасности, когда лезете рассказывать, кто кому чего должен...

    API бывают точно так же проблемными.  Пользователи точно так же могут напередавать.  А самый безопасный контупер -- отключенный от сети и питания, залитый свинцом и захороненный под охраной трёх автоматчиков.

     
     
  • 3.12, Аноним (12), 10:14, 08/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так тут одни клоуны сидят же .
    Им лишь бы покукарекать .
     
     
  • 4.14, Аноним (-), 04:20, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Однако доля правды в его словах есть. "If it runs, it can be defeated" (c).
     
  • 3.13, Аноним (-), 04:19, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И таки кормить шелл внешними данными - затея очень так себе с точки зрения безопасности. Как-то так исторически.
     
  • 2.7, Мейнард (?), 23:16, 06/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    CLI - это тоже API, и довольно универсальный. Если не проверять и не чистить ввод, то какая разница каким образом он в программу попадает: в виде ключа, или, к примеру, как json? Все равно будут эксплойты.
     

  • 1.8, Дуплик (ok), 08:49, 07/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда они уже уйдут от использования SHA-1?
     
     
  • 2.11, KonstantinB (??), 02:58, 08/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/git/git/blob/master/Documentation/technical/hash-function-t
     

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



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

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