Хотя библиотека JavaScript jQuery уже не так популярна, как была, она по-прежнему широко используется. В результате не менее шести из десяти веб-сайтов подвержены уязвимости jQuery XSS. Еще больше проблем с безопасностью создают библиотеки jQuery, используемые для расширения возможностей jQuery.
Эти результаты получены на платформе безопасности с открытым исходным кодом Snyk и включены в «Отчет о состоянии безопасности фреймворков JavaScript за 2019 год». В то время как этот отчет в основном посвящен обзору безопасности двух ведущих фреймворков JavaScript, Angular и React, он дает «быстрый взгляд» на уязвимости в трех других проектах экосистемы внешнего интерфейса JavaScript — Vue.js, Bootstrap и jQuery.
jQuery был загружен более 120 миллионов раз за последние 12 месяцев, что эквивалентно количеству загрузок для Vue.js (40 миллионов) и Bootstrap (79 миллионов) вместе взятых.
Snyk сообщает, что для Vue.js было обнаружено четыре уязвимости, и все они были исправлены. Bootstrap содержал семь уязвимостей межсайтового скриптинга (XSS). Три из них были раскрыты в 2019 году, и нет никаких исправлений безопасности или способов обновления, чтобы их избежать. В случае с jQuery snyk на сегодняшний день отслеживает шесть уязвимостей безопасности, влияющих на jQuery во всех его выпусках. Четыре являются уязвимостями межсайтового скриптинга средней степени серьезности, одна — уязвимостью Prototype Pollution средней степени серьезности, а последняя — уязвимостью типа «отказ в обслуживании» низкой степени серьезности.
В отчете делается вывод, что если вы не используете jQuery 3.4.0 и выше, вы используете уязвимые версии jQuery.
Фактически, согласно W3Techs, jQuery v1.x используется на 84% всех веб-сайтов, использующих jQuery. Это подвергает их четырем уязвимостям XSS средней степени серьезности, и ситуация усугубляется использованием библиотек расширений jQuery, 13 из которых выявили уязвимости.
Снайк обращает особое внимание на jquery.js, который является вредоносным пакетом и за последние 12 месяцев его скачали 5 444 раза. Уровень его уязвимости оценивается так же, как и у двух других вредоносных версий модулей сообщества с открытым исходным кодом, которые имеют меньше ежегодных загрузок — jquery-airload (322 загрузки) и github-jquery-widgets (232 загрузки).
Он также указал на три другие библиотеки расширений, jquery-mobile, jquery-file-upload и jquery-colorbox, которые вместе составляют более 340000 загрузок за последние 12 месяцев, несмотря на наличие уязвимостей безопасности Arbitrary Code Execution и Cross-Site Scripting и не имея никакого пути обновления, чтобы исправить их.
Ян Эллиот является автором книг Just jQuery: The Core UI и Just jQuery: Events, Async & AJAX, которые являются частью библиотеки I Programmer Library, опубликованной I / O Press.