Опубликованы (https://lkml.org/lkml/2014/12/18/442) внеплановые корректирующие выпуски распределенной системы управления исходными текстами Git 1.8.5.6, 1.9.5, 2.0.5, 2.1.4 и 2.2.1 (http://git-scm.com/), в которых устранена критическая уязвимость (https://github.com/blog/1938-git-client-vulnerability-announced) (CVE-2014-9390 (http://openwall.com/lists/oss-security/2014/12/18/21)), способная привести к выполнению кода при обращении к репозиторию, в который злоумышленником совершён специально оформленный коммит. Одновременно выпущено обновление MSysGit 1.9.5 (https://msysgit.github.io/) (вариант Git для Windows), а также библиотек libgit2 0.21.3 (https://libgit2.github.com/) и JGit 3.5.3.201412180710-r (https://eclipse.org/jgit/), которые подвержены уязвимости. Наличие уязвимости также подтверждено (http://openwall.com/lists/oss-security/2014/12/19/1) в системе управления версиями Mercurial (http://mercurial.selenic.com/downloads) (hg) и исправлено (http://mercurial.selenic.com/wiki/WhatsNew) в выпуске 3.2.3.Проблема проявляется в Git, Mercurial и Git/Mercurial-совместимых клиентах только на платформах с файловыми системами, не различающими регистр символов или проводящими нормализацию регистра в именах файлов. В частности, проблема проявляется в Windows и OS X, использующих регистронезависимые пути. Unix-подобные системы уязвимости не подвержены.
Суть проблемы сводится к тому, что атакующий, имеющий возможность внесения изменений в репозиторий, может произвести коммит, включающий директорию с названием наподобие ".Git", которая при записи в файловую систему не чувствительную к регистру будет эквивалентна директории ".git", содержащей конфигурационные данные Git. Это позволяет атакующему заменить конфигурацию git на произвольные данные и потенциально позволяет выполнить произвольный код достаточно неожиданным способом. Кроме того, отмечается, что к маппингу в строку ".git" в случае Windows и OS X могут приводить и некоторые иные последовательности символов, которые в результате выполнения нормализации имени будут автоматически преобразованы файловой системой.
URL: https://github.com/blog/1938-git-client-vulnerability-announced
Новость: http://www.opennet.me/opennews/art.shtml?num=41300
красивая уязвимость:)
Таким дырам сто лет в обед. Уж поимение виндовых серверов через маппинг в 8.3 это вообще классика жанра - если ACL на полное имя админ поставить допрет, то вот запретить серверу отдавать то же самое но в формате 8.3 лох-админы в 50% случаев разумеется забывают, или (зеленые нубы) просто не догадываются что файлуха в винде такую подставу вообще может отколоть.
> проявляющаяся в Windows и OS XМожно было и не исправлять!
Фанатиков нигде не любят.
А где любят домохозяек и геев притворяющихся компьютерщиками?
В США и европах :)
а нефиг хостить на винде
Хостить где угодно может - проявляется при коммите в вантузах.
Проявляется на вантузах при фетче и чекаутах. Линукс не подвержен никак.
> а нефиг хостить на виндеТак клиентов тоже пробирает - в конфиг много чего интересного можно дописать. Ну там ssh helper какой-нибудь особо правильный :). Типа запуска сетевого шелла для хацкера.
Вот к чему приводят искусственные ограничения, в том числе на имена файлов.
Это не ограничения, это legacy-костыли. Они никогда ни к чему хорошему не приводили.
Зачем их притащили на MACOS 10, если она изначально была регистрозависимая?
Строго говоря, "регистрозависимость" - тупо фишки компьютера, где "а" и "А" - разные вещи. Людям неважен регистр, так что "ФС без регистра" - вполне однозначное решение.
> Людям неважен регистрЭто каким людям?
Взрощенным на DOS и всего, что от неё идеологически унаследовало.
>> Людям неважен регистр
> Это каким людям?Очевидно же - нормальным, про вас речи не идёт.
>Очевидно же - нормальным, про вас речи не идёт.Слава кому-то там, я - уже девиантен, и к быдлонорме не отношусь.
> Очевидно же - нормальным, про вас речи не идёт.Если нормальные - это те 95%, которые пускают пузыри - очень хорошо что я в их число не попал.
и вообще, этот ваш git - тупо фишки компьютера. Людям он неважен, т.к. несъедобен.
некоторые не встретили тега <сарказм> и заминусовали
В разных языках свое понятие о верхнем/нижнем регистре. Турецкое "и" и немецкий эсцет — два наиболее ярких примера.
Клоун говорит: "Речь не о том, как преобразуется нижний регистр к верхнему, а о том, насколько регистрозависимость полезна или вредна при работе с компьютером. Вам позвонили и сказали что файл называется 'логистика', как это пишется с учётом регистра? Насколько удобно видеть в одной папке файлы 'Логистика', 'лОгистика', 'ЛОгистика' и т.д.? Регистрозависимость проще для компьютера, но нужна ли она людям? Клоунам Стаканчикам она точно не нужна."
сразу видно человека из эпохи MSDOS :)))"позвонили", "файл" да еще и с названием :))))
Сегодня: пришло сообщение, next step: "открыть?" , если да - стартует определенное приложение и всё - где тут имя файла??????????
зы. ну с другой стороны - что ожидать от убогого?
Клоун говорит: "если всё так, как вы говорите, то имена файлам вообще не нужны. Факт, что вы используете ненужные и бесполезные вещи, считая их важными и придумывая для них правила (регистрозависимость), есть следствие ВАШЕЙ непроходимой глупости и несовершенства используемых ВАМИ инструментов."
У клоуна ник какой-то левый - лох этот клоун.
> Насколько удобно видеть в одной папке файлы 'Логистика', 'лОгистика', 'ЛОгистика' и т.д.?Да чего уж там, договаривай. Там же Логистика, Логистика1, логистика,лолистика, логистика_ и ещё несколько вариантов в разных "подпапках", ещё варианты с пробелами в именах, с удвоенным расширением, а нормальное расширение скрыто, поэтому количество вариантов ещё увеличится. Решается неистовым кликаньем по всем подряд файлам. Только непонятно что в таком бардаке изменит case sensitive.
ЗЫ. Вменяемые люди документам дают название, позволяющее его однозначно идентифицировать без просмотра содержимого (хотя оно всё равно будет, так уж устроены вменяемые люди). Идиотам с названием файла "логистика" case что sensitive, что insensitive, всё боль и страдания.
О, вы за всех людей готовы говорить?
И вы всерьёз считаете, что записать одно, а прочитать другое - это хорошая практика?
Давайте обсудим пробелы в именах файлов.
Как вы считаете - "Пример документа" (с одним пробелом) и "Пример документа" (с двумя пробелами) должны считаться идентичными?
Клоун говорит: "техника работает для людей или люди работают для техники? Для сложной или дорогой техники ответ очевиден - люди стелятся под технику и выполняют все её, пусть даже самые неудобные и безумные, требования. Но для повседневно используемой массовой (= дешёвой) техники обратно: техника делает так, как удобно людям и клоунам. Компьютер знает, что в клоунских сутках 3600 секунд, в клоунских месяцах от 29 до 31 дня, в клоунском году 12 месяцев, и нужен (или не нужен) перевод часов два раза в год в определённые (и ежегодно меняющиеся) даты - знает и учитывает это, как бы это ни было для него неудобно. И отсюда явно видно насколько далёк Линукс от того, чтобы быть (а не казаться) массовым продуктом. Линукс - удел гиков, стесняющихся работодателей и девочек, но готовых отсасывать программам и их авторам."
Придерживайтесь формата 8.3 в своих постах, пожалуйста. Для людей.
> Придерживайтесь формата 8.3 в своих постах, пожалуйста. Для людей.Да, пусть ник сократит. Клоу~1.Ста - ну и хватит :)
>> Придерживайтесь формата 8.3 в своих постах, пожалуйста. Для людей.
> Да, пусть ник сократит. Клоу~1.Ста - ну и хватит :)я чуть чаем не поперхнулся. нельзя же так!!!!!!!!!!!
Клоун говорит: "Вы не заметили, но уже очень давно в регистронезависимых FAT и NTFS дополнительно сохраняются регистрозависимые имена файлов. Потому что людям удобнее видеть файл так, как они его назвали, но неудобно искать файлы в разных регистрах и выбирать среди файлов с именами в разных регистрах. Они работают для людей (и клоунов), делая нашу жизнь комфортнее и проще, а не цепляются за копеечную прибавку к производительности, которая уже 40 лет как потеряла актуальность."
> уже 40 лет как потеряла актуальность."Конечно, хакерам очень удобно потом тащить у виндолохов файлы через обход ограничений. Потому что одному файлу соответствует штук пять разных путей. Поди их там все учти при конфигурации сервера...
Клоун говорит: "Вы хотите сказать, что используете для защиты сервера программы, которые принципиально не используют системные функции и сознательно игнорируют существующие особенности и сложившиеся правила? Я предлагаю вам отказаться от таких программ и приобрести качественное программное обеспечение. Я давно обратил внимание: низкосортные дешёвые программы вместо решения проблем создают свои."
Так я и пользуюсь на своих серваках линем и нжинксом. Ни вам западла с именами, ни вам долботни с настройкой, половину конфига можно из поисковика скопипастить, все работает годами на автопилоте с минимальным вниманием и работает хорошо. Лучше чем винды, где даже мелкосфт даунлоады линем сервирует. И к тому же бесплатно. Чтобы платить за то что работает хуже - надо быть форменным лохом.
Клоун говорит, но на прямо поставленный вопрос про пробелы не отвечает.
Наверное догадывается, что по этому параметру поведение винды и линукса в основном совпадают.
81400
> 81400тьфу, 86400 :)
> Строго говоря, "регистрозависимость" - тупо фишки компьютера, где "а" и "А" -
> разные вещи. Людям неважен регистрЧто же ты предложение с заглавной начинаешь если это "тупо фишки компьютера"?
Клоун говорит: "рудименты языка, такие же как род и число (не только) в русском языке. Они бесполезны, неудобны, но используются для совместимости."
А, вот зачем у тебя твердый знак. Для совместимости с дореволюционным синтаксисом...
Один модератор с синдромом вахтёра осознал, что это не я ё-а-ый клоун, а он. Не желая ни от кого это скрывать, он совершил каминг аут, прошёл унизительную процедуру и официально стал и ё-а-ым и клоуном на этом форуме. Мой старый ник занят, но душа спокойна: он нашёл себя.
Не надо на модераторов бочку катить - незареганый ник зарегал всего лишь пользователь ресурса :P.
> Зачем их притащили на MACOS 10, если она изначально была регистрозависимая?Хотели сделать проще хомякам. Их стало проще иметь...
>> Зачем их притащили на MACOS 10, если она изначально была регистрозависимая?
> Хотели сделать проще хомякам. Их стало проще иметь...Хотели сделать как на винде -- так и вышло.
А что с СВНчиком?! Там тоже .svn есть!
> А что с СВНчиком?! Там тоже .svn есть!Ну вот вы и проверьте. Кому это окаменелое в 2014 надо? :)
должна быть точно такая же проблема. По крайней мере если счекаутить реп на любой убогой ОСи с двумя файлами с одинаковыми именами в разном регистре, то оно не поймёт что случилось и выдаст непонятную ошибку.
А вы спорите какая VCS лучше, а они оказывается во много сопоставимы)))
Это когда ими интересуешся, но с ними не работаешь.
Когда же работаешь, тогда лучшей обычно оказывается та, которой сам лучше владеешь.
Адекватно же сравнить можно только прекрасно владея всеми сравниваемыми vcs'ами.
(примета: холивары возникают от недосточного владения).
Когда работаешь лучшей оказывается та, которой владее большинство коллег или которая используется в проекте. Во всяком случае, для DVCS так и есть - не настолько они различаются, чтобы упрямиться. И не настолько часто нужны их "продвинутые" возможности (т.е. всё за пределами простейшей последовательности создания бранчей, коммита и мержа), чтобы они вообще стоили холивара.P.S. Да, это сейчас означает, что лучшая - Git.
> Linux-подобные системы уязвимости не подверженыВ принципе это ось и не нужна.
>> Linux-подобные системы уязвимости не подвержены
> В принципе это ось и не нужна.перевёрнутая с ног на голову аксиоматика. это оказывается не народ массово кормят ховённой ОС, а наоборот - количество ховна в системе прямо пропорционально популярности.
> ...произвести коммит, включающий директорию с названием наподобие ".Git"Это ли не лучшее доказательство, что троечник Трольвадс не умеет программировать? Да подобную защиту даже школьники предусматривают! Как можно выпускать продукт с такими дырами?
>Да подобную защиту даже школьники предусматривают!Ну, и програмьте себе на уин-доузах, дорогите троечники.
> Как можно выпускать продукт с такими дырами?
Продукт? Винда? Кто все эти люди...
Тссс... Это же САМ пришел. Щас он нам расскажет, как надо делать.
Не, не расскажет. Его мамка спать загнала. Завтра приходите - вот тогда - да!
Торвальдс писал под нормальную посиксовскуюи систему. Кто ж виноват, что есть уроды, которые этому самому посиксу не соответствуют? Может, еще под CP/M надо было подгонять?
> было подгонять?Еще блин маппинг в 8.3 досявый попросите учитывать. А оно кому-то надо кроме пользователей досявого легаси?
> Торвальдс писал под нормальную посиксовскуюи систему. Кто ж виноват, что есть уроды,
> которые этому самому посиксу не соответствуют? Может, еще под CP/M надо
> было подгонять?С учётом того, что концепция CP/M бодро "спи-жена" гражданином Хейтсом в DOS и в виде легаси тащится до сих пор, таки уже сделали.
> Это ли не лучшее доказательство, что троечник Трольвадс не умеет программировать?Это доказательство того что он не считает что файлуха должна делать ему подляны. И еще доказаельство того что нормальные програмеры виндой и маком не пользуются.
а разве Торвальдс занимался портированием git под винду? msysgit хостится отдельно, а libgit2 так вообще майкрософт разрабатывает.
> Unix-подобные системы уязвимости не подвержены.А OS X типа не Unix-подобная система!
Ага, несколько лет назад даже утверждалось, что MacOS X есть именно TrueЪ UNIX и никак иначе.
> Ага, несколько лет назад даже утверждалось, что MacOS X есть именно TrueЪ
> UNIX и никак иначе.Помнится в "ведумостях" писали, что даже сертификацию прошли (купили?)
>(купили?)а ты знаешь другие способы "сертификаций"?
>А OS X типа не Unix-подобная система!Просто Unix, без подобная. // Kalambur unintentional.
> А OS X типа не Unix-подобная система!Он еще и юникс. Вот такой вот хреновый юникс. С регистронезависимостью аж.
В os x есть возможность сделать фс регистрозависимой -- это опция.
Другое дело что смысла нет.
> В os x есть возможность сделать фс регистрозависимой -- это опция.В винде тоже можно в нтфс.
> Другое дело что смысла нет.
Правильно, оставьте как есть. Иначе хакерам будет неудобно устраивать внезапности через имена файлов.
Ну да, внезапно я буду делать git clone неизвестно чего неизвестно зачем :)
Ну, как раз git clone неизвестно чего - это, в общем-то, рядовой случай. Мало ли где код заинтересовавший попался.
в ОС x? Будешь внезапно делать и не такое. Да и наверняка уже делаешь.
> Ну да, внезапно я буду делать git clone неизвестно чего неизвестно зачем :)Ну я не спорю что круто быть телепатом и заранее знать что в репе лежит, до скачки. При таком скилле вам поди и платить за интернет не требуется :)
Позитивно. Жаль github её закрыли, надеюсь не успевших обновиться поимеют через репозитории на других хостингах. Я лично в свои репы нужные коммиты сделал.