Самыми распространенными уязвимыми библиотеками
оказались 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%).