Уязвимости в проектах open-source годами остаются незамеченными

Уязвимости в проектах open-source годами остаются незамеченными

Уязвимости в проектах open-source годами остаются незамеченными

Создавая программы для бизнеса, разработчики все больше полагаются на компоненты с открытым исходным кодом. Проведенное в GitHub исследование показало, что современные приложения могут на 80% состоять из зависимостей, поэтому безопасность последних особенно важна. К сожалению, уязвимости в кодах, связанных зависимостью, выявляются в основном случайно и могут просуществовать без внимания более четырех лет.

Инструментарий на GitHub позволяет быстро оповещать разработчиков о новых брешах в проектах open-source и наличии патчей, но проблема детектирования таких нарушений безопасности сильно тревожит операторов сервиса. Чтобы определить масштабы бедствия, исследователи изучили (PDF) содержимое 45 тыс. открытых репозиториев, активных как минимум два года — с октября 2018-го по сентябрь текущего.

Найденные связные компоненты были разделены на пять групп в зависимости от языка, на котором они написаны (PHP, Java, JavaScript, .NET, Python и Ruby). Как оказалось, чаще всего разработчики используют сторонние библиотеки JavaScript (94% приложений), Ruby и .NET (по 90%).

Темпы латания брешей в пакетах open-source оказались приемлемыми: участники сообщества закрывают их в течение месяца, и пользователи, получив извещение, обычно успевают за неделю внести исправления в свой продукт. Однако далеко не все оповещения GitHub заслуживают пристального внимания — в 83% случаев предметом алерта оказалась ошибка, не составляющая угрозу безопасности. Остальные предупреждения были оправданными: в open-source объявилась уязвимость (или бэкдор). К сожалению, такие проблемы в основном находят в заброшенных или редко используемых проектах.

Исправить ситуацию, по мнению исследователей, можно лишь объединенными усилиями разработчиков, операторов хранилищ и пользователей. Все они должны регулярно проверять зависимости в коде на уязвимость, а также расширять использование средств автоматизации оповещений и патчинга связных кодов — по данным GitHub, это поможет ускорить латание дыр в приложениях в 1,4 раза.

Из брешей, зафиксированных в 2020 году, наиболее опасными исследователи сочли Curveball (CVE-2020-0601), SMBGhost (CVE-2020-0796) и Zerologon (CVE-2020-1472). Эти уязвимости затронули большое количество разработок и поставили под угрозу множество оконечных устройств и корпоративных сетей.

С точки зрения патчинга весьма неприятна также CVE-2020-8203 в npm-пакете lodash, которая позволяет внести нежелательные изменения в прототип объекта JavaScript. Исследование показало, что сценарий lodash пользуется большой популярностью у разработчиков бизнес-программ, и появление CVE-2020-8203 вызвало более пяти млн алертов, запущенных с помощью бота GitHub.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

Брешь в Zen 5 угрожает криптозащите процессоров AMD Ryzen и Epyc

Как сообщила AMD, разработчики скоро выпустят обновление микрокода для устранения уязвимости, способной ослабить криптографическую защиту в процессорах Ryzen и Epyc. Ошибка получила идентификатор CVE-2025-62626 и 7,2 балла по шкале CVSS, что соответствует уровню «высокая степень риска».

Проблема затрагивает процессоры архитектуры Zen 5 и связана с работой функции RDSEED, которая отвечает за генерацию случайных чисел — важный элемент при создании криптографических ключей.

Из-за сбоя RDSEED в некоторых случаях возвращает ноль вместо случайного значения, и если приложение принимает это как корректный результат, злоумышленник может попытаться использовать такую особенность для взлома или расшифровки данных.

Тем не менее эксплуатация подразумевает локальный доступ к системе, то есть атакующий уже должен иметь достаточно высокий уровень контроля над устройством.

В AMD уточнили, пока компания работает над патчем пользователи могут воспользоваться обходными решениями. Например, использовать 64-битную версию RDSEED, в которой нет уязвимости, или отключить обнаружение функции RDSEED в системе с помощью параметра clearcpuid=rdseed при загрузке, либо флага -rdseed в настройках виртуальных машин QEMU.

Первые патчи уже выпущены для серверных процессоров Epyc 9005 (TurinPI 1.0.0.8) — они стали доступны 28 октября. Однако некоторые пользователи Linux сообщили о проблемах с последним апдейтом ядра 6.18-rc4, которое также включает попытку устранить баг: по словам разработчика CachyOS, оно мешает части пользователей войти в графический интерфейс.

Для остальных серий патчи появятся позже. Обновления для Ryzen и Epyc Embedded 9005 ожидаются до конца ноября, а для Epyc Embedded 4005 и Ryzen Embedded 9000 — в январе.

AM LiveПодписывайтесь на канал "AM Live" в Telegram, чтобы первыми узнавать о главных событиях и предстоящих мероприятиях по информационной безопасности.

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