Бесплатно Экспресс-аудит сайта:

25.04.2024

Cordova App Harness: путаница зависимостей открывает хакерам доступ в чужое ПО

Недавно исследователи в сфере безопасности выявили новую уязвимость типа Dependency Confusion (путаница зависимостей), влияющую на архивированный проект Apache под названием Cordova App Harness.

Благодаря уязвимости злоумышленники способны заставить менеджер пакетов загружать мошеннический пакет из публичного репозитория вместо ожидаемого частного, что грозит серьёзными последствиями для цепочки поставок, включая заражение всех клиентов, устанавливающих данный пакет.

Анализ, проведённый в мае прошлого года компанией по безопасности Orca, показал, что почти 49% организаций подвержены атакам Dependency Confusion.

Несмотря на то, что разработчики npm и других менеджеров пакетов ввели меры по приоритизации частных версий, компания Legit Security обнаружила, что проект Cordova App Harness ссылается на внутреннюю зависимость без указания относительного пути файла, что и делает его уязвимым.

Apache Software Foundation прекратила поддержку проекта 18 апреля 2019 года, но, как выяснили исследователи, двери для атак через цепочку поставок остались открытыми. Мошенническая версия пакета, загруженная на npm, привлекла более 100 загрузок, указывая на то, что проект все ещё используется реальными разработчиками. Это представляет серьёзные риски для все цепочки поставок программного обеспечения.

Команда безопасности Apache взяла на себя контроль над пакетом cordova-harness-client, чтобы предотвратить дальнейшие атаки, так что можно сказать, что на этот раз обошлось.

Эксперты отмечают, что организациям всегда рекомендуется создавать публичные пакеты-заглушки на такие случаи, чтобы предотвратить атаки, эксплуатирующие «путаницу зависимостей».

Как отметил исследователь безопасности Офек Хавив, данное открытие подчёркивает необходимость учитывать сторонние проекты и зависимости как потенциальные уязвимые звенья в процессе разработки программного обеспечения, особенно в отношении архивированных открытых проектов, которые могут не получать регулярные обновления или патчи безопасности.