Skip to main content

In this article

84 % des sites web sont concernés par des vulnérabilités XSS dans jQuery

Écrit par
JavaScript Report feature

30 octobre 2019

0 minutes de lecture

Bienvenue dans le rapport 2019 de Snyk sur la sécurité des frameworks JavaScript. Dans cet article, nous passons en revue les vulnérabilités découvertes dans d’autres projets de l’écosystème frontend.

Après avoir étudié Angular et React, deux frameworks JavaScript majeurs, nous allons examiner brièvement plusieurs frameworks JavaScript et CSS : Vue.js, jQuery et Bootstrap.

Téléchargez le rapport ici !

Sécurité de jQuery

jQuery a révolutionné le développement web il y a dix ans. Depuis, les technologies d’applications monopages telles qu’Angular et React ont profondément transformé le secteur. Cela dit, selon W3Techs, qui réalise régulièrement des enquêtes et publie des rapports sur l’utilisation des technologies web, jQuery était utilisé sur 73 % des sites web analysés en août 2019.

Une étude de Snyk datant de 2017 le confirme : elle indiquait que 77 % des sites utilisent au moins une bibliothèque JavaScript vulnérable et que jQuery était présent sur 79 % des 5 000 principales URL d’Alexa. Si vous n’êtes toujours pas convaincu, le module npm jQuery a totalisé 120 641 977 téléchargements au cours des seuls 12 derniers mois.

Au total, nous avons recensé six vulnérabilités de sécurité touchant jQuery depuis sa première version : quatre vulnérabilités Cross-Site Scripting de gravité moyenne, une vulnérabilité Prototype Pollution de gravité moyenne et une vulnérabilité par déni de service de faible gravité. Si vous n’utilisez pas jQuery 3.4.0 ou une version ultérieure, publiée récemment, le 10 avril 2019, votre version de jQuery est vulnérable.

Diagramme en anneau montrant le nombre de vulnérabilités jQuery par version : 54 % pour jQuery 1.x, 17 % pour 2.x et 29 % pour 3.x.

jQuery étant généralement utilisé comme composant hérité dans les applications web, il est également important de comprendre les tendances d’utilisation des versions et leur état de sécurité.

W3Techs indique que parmi tous les sites web utilisant jQuery, la version 1.x domine avec 83,4 % de part d’utilisation. Les versions 2 et 3 sont loin derrière, avec environ 8 % de l’utilisation de jQuery. En analysant les vulnérabilités connues et les versions de jQuery concernées, nous avons constaté que quatre vulnérabilités Cross-Site Scripting de gravité moyenne touchent jQuery v1. Cette situation est préoccupante, compte tenu de sa part de marché de 83,4 %, en particulier pour les équipes qui n’utilisent pas l’analyse de la composition logicielle pour détecter et corriger les vulnérabilités des composants open source.

De nombreux sites et applications web utilisent également des bibliothèques jQuery pour étendre les fonctionnalités de jQuery, en faisant appel à des bibliothèques développées par la communauté.

Nous avons identifié 13 bibliothèques jQuery vulnérables, présentées dans le tableau ci-dessous. Voici nos observations :

  • Trois bibliothèques jQuery sont des versions malveillantes de modules open source de la communauté. Comme le registre npm ne fournit pas les données de téléchargement des versions réellement vulnérables, signalons que jquery.js est un paquet malveillant qui a totalisé 5 444 téléchargements au cours des 12 derniers mois.

  • Les bibliothèques jQuery jquery-mobile, jquery-file-upload et jquery-colorbox totalisent plus de 340 000 téléchargements au cours des 12 derniers mois, alors qu’elles présentent des vulnérabilités d’exécution de code arbitraire et de Cross-Site Scripting, sans possibilité de mise à niveau pour les corriger.

Nom de la bibliothèque jQuery

Type de vulnérabilité

Date de divulgation

Gravité de la vulnérabilité

Téléchargements annuels du module

Correctif disponible ?

Paquet malveillant

2019-08-06

élevée

322

n/a

Cross-Site Scripting

2019-07-03

moyenne

17,898

✅

Paquet malveillant

2019-06-07

élevée

232

n/a

Cross-Site Scripting

2019-05-04

moyenne

54,991

❌

Exécution de code arbitraire

2018-11-02

faible

19,442

❌

Cross-Site Scripting

2018-08-19

moyenne

79,982

✅

Déni de service par expression régulière (ReDoS)

2018-02-13

élevée

3,069

✅

Cross-Site Scripting

2017-11-14

moyenne

268,513

❌

Paquet malveillant

2017-08-02

élevée

5,444

n/a

Cross-Site Scripting

2016-07-21

élevée

8,934,683

✅

Falsification de requête intersite (CSRF)

2015-06-24

moyenne

5,763,710

✅

Cross-Site Scripting

2013-04-18

moyenne

1,831,735

✅

Falsification de requête intersite (CSRF)

2012-11-26

moyenne

8,934,683

✅

Cross-Site Scripting

2012-08-01

moyenne

54,991

✅

Cross-Site Scripting

2010-09-02

moyenne

8,934,683

✅

*les paquets malveillants ne disposent d’aucune information sur les correctifs.


Téléchargez le rapport ici

Nous vous recommandons vivement de télécharger la version complète du rapport au format numérique. Nous avons également publié les sections générales suivantes sous forme d’articles de blog :

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.