Уязвимости в проектах 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.

Anti-Malware TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

В Drupal устранили новый баг библиотеки PEAR Archive_Tar

Разработчики Drupal вновь внесли изменения в ядро CMS-системы: в используемой ею библиотеке PEAR Archive_Tar объявилась еще одна уязвимость, и исправленная версия уже вышла. Заплатки для Drupal тоже готовы, пользователям CMS версии 7 и веток 8.9, 9.0, 9.1 предлагают произвести обновление.

Согласно записи в базе данных уязвимостей Национального института стандартов и технологии США (NIST), проблема, зарегистрированная как CVE-2020-36193, похожа на CVE-2020-28948, которую команда Drupal устранила в ноябре. Она тоже позволяет выполнить на сервере вредоносный PHP-код через загрузку файла в формате .tar, .tar.gz, .bz2 или .tlz.

Причиной появления уязвимости является неадекватная проверка символических ссылок (симлинков), что открывает возможность для выполнения операций записи за пределами каталога ресурса. Степень опасности бреши разработчики оценили в 18 баллов из 25 возможных в соответствии с системой оценки, рекомендованной NIST.

Патчи для поддерживаемых версий CMS-системы включены в состав сборок 7.78, 8.9.13, 9.0.11 и 9.1.3. Разработчики напоминают, что версии Drupal 8 ниже 8.9.x сняты с поддержки, и патчи для них перестали выпускаться. В качестве альтернативной меры защиты пользователи могут запретить загрузку файлов названных форматов.

Anti-Malware TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

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