Самыми распространенными уязвимыми библиотеками оказались Lodash и JQuery.
Специалисты online-сервиса для работы с git-репозиториями GitLab проверили безопасность программных проектов своих клиентов и обнаружили множество уязвимостей.
«Процент проектов, в которых обнаружились проблемы с зависимыми используемыми библиотеками, значительно увеличился за последний год — с 26% до 69%. Это еще раз подтверждает, что обновление зависимых библиотек должно иметь высокий приоритет, исходя из рисков безопасности», — сообщил технический директор Уэйн Хабер (Wayne Haber).
Тенденция создавать приложения с библиотеками, зависящими от других библиотек, сделала управление безопасностью современного программного обеспечения трудным, поскольку уязвимость в общей зависимости может стать широко распространенной проблемой для нескольких проектов. Проблема особенно остро стоит в экосистеме Node.js.
По состоянию на август 2020 года, библиотеки с наибольшим количеством уязвимостей (распространяемые через npm) включали:
Lodash: Загрязнение прототипа объекта;
Execa: Внедрение команд ОС;
Mixin-deep: Загрязнение прототипа;
Kind-of: Проверка типа;
Sockjs: Межсайтовый скриптинг;
Ajv: Некорректная проверка ввода данных;
Minimist: Некорректная проверка ввода данных;
Yargs-parser: Некорректная проверка ввода данных;
JQuery: Выполнение стороннего запроса CORS;
Dot-prop: Принудительный просмотр по прямому запросу;
Lodash и JQuery чаще других фигурируют в отчетах о безопасности в качестве уязвимых библиотек.
Однако есть и хорошие новости. Например, процент проектов, использующих контейнеры с уязвимостями, упал с 52% до 41%. Также процент проектов с проблемами, обнаруженными с помощью статического анализа, практически не изменился (с 49% до 52%).
Одно найти легче, чем другое. Спойлер: это не темная материя