Доступны (https://lkml.org/lkml/2018/10/5/904) внеплановые обновления Git 2.14.5, 2.15.3, 2.16.5, 2.17.2, 2.18.1 и 2.19.1, в которых устранена уязвимость (CVE-2018-17456 (https://security-tracker.debian.org/tracker/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", ранее всплывали уже как минимум (https://www.opennet.dev/opennews/art.shtml?num=47005) три (https://www.opennet.dev/opennews/art.shtml?num=43096) раза (https://www.opennet.dev/opennews/art.shtml?num=48680).
URL: https://lkml.org/lkml/2018/10/5/904
Новость: https://www.opennet.dev/opennews/art.shtml?num=49397
Правильно. Передавать CLI-аргументы должен только пользователь, для вызова программ из других программ должны быть API.
Таки что вы имеете против unix way????
Таки то, что в данном случае это way в никуда. Ну или если угодно, road to hell, вымощенная благими намерениями.
к сожалению API нужно будет стандартизовывать, поддерживать и так далее, потом для каких языков этот API? шельные пайпы как раз и придумали чтобы не утонуть во всяких API
Лол, так либо API надо стандартизовывать, чтобы с ним могли работать, либо вывод командной строки/exit-кодов и прочей фигни, чтобы с этим так же можно было работать (только в разы неудобнее и менее стабильно). Коммент - полный бред, нужно делать нормальную библиотеку.
Еще один отросток. Unix-way - это exec программ? Что за бред? Unix-way - это то, что модуль должен делать только то, для чего он предназначен (узкое предназначение), а не systemd. Принцип связности-сцепления модулей - вот, вкратце, о чем unix way.https://en.wikipedia.org/wiki/Unix_philosophy#Rule_of_Modula...
Начитались опеннетов, потому ябутся в комментариях.
Вы бы хоть немного понимали что-то в программировании и инфобезопасности, когда лезете рассказывать, кто кому чего должен...API бывают точно так же проблемными. Пользователи точно так же могут напередавать. А самый безопасный контупер -- отключенный от сети и питания, залитый свинцом и захороненный под охраной трёх автоматчиков.
Так тут одни клоуны сидят же .
Им лишь бы покукарекать .
Однако доля правды в его словах есть. "If it runs, it can be defeated" (c).
И таки кормить шелл внешними данными - затея очень так себе с точки зрения безопасности. Как-то так исторически.
CLI - это тоже API, и довольно универсальный. Если не проверять и не чистить ввод, то какая разница каким образом он в программу попадает: в виде ключа, или, к примеру, как json? Все равно будут эксплойты.
Когда они уже уйдут от использования SHA-1?
https://github.com/git/git/blob/master/Documentation/technic...