В Git обнаружены серьезные уязвимости

В Git обнаружены серьезные уязвимости

В Git обнаружены серьезные уязвимости

Исследователь Лаел Целлье (Laël Cellier) обнаружил в серверной и клиентской части Git две опасные проблемы, которые затрагивают ветки 2.x, 1.9 и 1.7. В числе прочего, баги представляют потенциальную опасность для таких популярных ресурсов как Github, Bitbucket, Gerrit и Gitlab.

Два найденных в коде бага (CVE-2016-2324 и CVE-2016-2315) могут привести к исполнению произвольного кода и переполнению буфера. Для эксплуатации уязвимостей атакующему нужно создать репозиторий с деревом файлов с чрезвычайно длинными именами, а затем пушнуть его на уязвимый сервер (атака на сервер) или позволить уязвимому клиенту склонировать его из удаленного репозитория (атака на клиента).

Одна из уязвимостей была устранена с выходом версии 2.7.1, релиз которой состоялся в прошлом месяце, вторую проблему исправят в версии 2.8, которая пока только ожидает релиза

Целлье обнаружил два бага, и они оба связаны с функцией path_name(),которая используется для добавления имени файла к концу пути в дереве репозитория. Вот так выглядел код revision.c, то есть Git до версии 2.7.0:

 

Git

 

В коде хорошо просматривается уязвимость CVE-2016-2315. Из приведенного отрывка видно, что если strlen() будет работать с излишне длинным именем файла и получится излишне большое число, это закончится переполнением для nlen, из-за чего значение получится отрицательным, а не положительным. Из-за этого len тоже станет отрицательным, и памяти, запрошенной xmalloc(), может не хватить для итоговой комбинированной строки, пишет xakep.ru.

Функция strcpy() тоже подвержена ошибкам переполнения буфера. Вслепую копируя заданное атакующим длинное имя файла в буфер меньшего размера, она спровоцирует переполнение буфера. Функция повредит другие находящиеся в памяти данные (heap overwrite), таким образом позволяя атакующему управлять работой программы.

Исправление для версии 2.7.0 заменяет strcpy() более безопасной memcpy():

memcpy(m, name, nlen + 1);

Однако остается вторая проблема — CVE-2016-2324. Длинные пути, множество поддиректорий и огромные имена файлов могут вызвать другой вариант повреждения данных (heap overwrite) — уже из-за len. К примеру, для пути A/B/C, где A и B имеют длину 2^31-5, а C имеет длину 20, len будет равняться 10, а этого слишком мало, в буфер не поместится даже C, не говоря обо всем остальном.

В таких путях запросто можно хранить данные, к примеру, вредоносные пейлоады. В данном случае волноваться о том, что строка слишком длинная и «тяжелая» не нужно. При передаче информации от сервера клиенту (и наоборот) Git сжимает данные, используя zlib, что распространяется и на имена файлов. В теории можно создать дерево объемом тысячи килобайт или даже мегабайт, а затем использовать его для выведения из строя ASLR, исполнения кода и других неприятных трюков.

Как избавиться от CVE-2016-2324? Заменить path_name() чем-то более безопасным, что и было проделано в версии 2.8, которая сейчас ожидает релиза. Сам Целлье о данной проблеме высказался так:

«Исправление, которое я придумал: преобразовать все эти int в size_t. Это не исправит проблему окончательно, но на 64-разрядных системах потребуется путь длиной 2^64, чтобы уязвимость сработала, что вряд ли возможно. Правда, это не поможет 32-разрядным системам (хотя, на деле, я не удивлюсь, если все сломается задолго до этого, так как список name_path уже не поместится в памяти)».

Для демонстрации проблемы Целлье создал репозиторий longpath. Его главную страницу открыть невозможно – ошибка HTTP 500, но можно почитать Wiki.

Также исследователь пожаловался, что проблеме не уделяют должного внимания, к примеру, сообщил, что по его данным баги не устранены ни в одном дистрибутиве Linux. По словам Целлье уязвимостям была необходима «реклама».  Он оказался прав – стоило прессе обратить внимание на проблему, как выяснилось, что, например, все версии Debian GNU/Linux уязвимы перед CVE-2016-2324. Похоже, единственные, кто обновился своевременно, это GitHub, а затем один из его главных конкурентов — GitLab. Кстати, за свою находку Целлье получил от GitHub 5000 баллов по программе обнаружения уязвимостей.

Закупки VPN госзаказчиками выросли в штуках, но упали в деньгах

Общее количество завершённых закупок виртуальных частных сетей (VPN), по данным «Контур.Эгиды» и Staffcop, в 2025 году выросло на 18,5% в количественном выражении — с 8,7 тыс. до 10,3 тыс. процедур. При этом совокупный объём рынка за тот же период сократился на 25,9% — с 32,97 млрд до 24,43 млрд рублей.

Ключевой причиной столь разнонаправленной динамики аналитики называют заметное снижение средней стоимости контрактов. По итогам 2025 года она уменьшилась на 38% и составила 2,44 млн рублей против 3,92 млн рублей годом ранее.

Одновременно усилилось и снижение цен со стороны поставщиков: с 14,7% в 2024 году до 18,4% в 2025 году.

Наиболее ёмким сегментом рынка VPN остаются закупки по 44-ФЗ. В 2025 году в этом сегменте было проведено 4,3 тыс. процедур на сумму 19,87 млрд рублей. Для сравнения, годом ранее объём закупок по 44-ФЗ составлял 29,18 млрд рублей при 4,1 тыс. процедур. Основным фактором снижения в денежном выражении стало падение средней стоимости контракта почти на треть — с 7,1 млн до 4,62 млн рублей.

Закупки по 223-ФЗ, напротив, продемонстрировали умеренный рост, в том числе в денежном выражении. В 2025 году их объём достиг 3,28 млрд рублей против 2,48 млрд рублей годом ранее, а количество сделок увеличилось с 468 до 532. При этом уровень снижения цены за год вырос с 15,4% до 18,5%, что, по оценке аналитиков, указывает на усиление конкуренции, прежде всего в крупных контрактах.

В коммерческом сегменте в 2025 году было зафиксировано около 1,0 тыс. закупок VPN на сумму 791 млн рублей, тогда как годом ранее — 758 сделок на 965 млн рублей. В малых закупках количество процедур выросло с 3,4 тыс. до 4,5 тыс., а совокупный объём — с 345 млн до 482 млн рублей. При этом средняя стоимость сделки практически не изменилась и составила около 100 тыс. рублей.

Снижение совокупного объёма рынка VPN на фоне роста количества закупок аналитики во многом связывают с эффектом отложенного спроса. Значительная часть крупных заказчиков ранее закрыла потребности в VPN-инфраструктуре, заключив контракты сразу на несколько лет, что снизило потребность в новых крупных закупках в 2025 году.

Дополнительным фактором стало перераспределение части закупок на специализированные электронные площадки, из-за чего снизился «видимый» объём рынка в открытых сегментах 44-ФЗ и 223-ФЗ. Одновременно заказчики всё чаще прибегают к малым и упрощённым процедурам, поскольку такой формат быстрее и удобнее при типовых задачах и ограниченных бюджетах.

Ситуацию на рынке прокомментировал Юрий Драченин, заместитель руководителя продуктовой группы «Контур.Эгида» и Staffcop («СКБ Контур»):

«В сегменте присутствует большое количество производителей, включая новых и нишевых игроков, которые активно выходят к заказчикам с альтернативными решениями. В результате крупные организации, уже внедрившие комплексные и дорогостоящие VPN-платформы, сокращают объёмы новых закупок, тогда как спрос смещается в сторону малого и среднего бизнеса. Это усиливает ценовую конкуренцию и приводит к снижению средней стоимости контрактов при росте количества процедур», — отметил он.

RSS: Новости на портале Anti-Malware.ru