Les sites web menacés par les librairies JavaScript obsolètes

Une étude montre qu’un tiers des sites web embarquent au moins une librairie JavaScript obsolète et donc vulnérable.

Plus d’un tiers des sites web comprennent des librairies JavScript obsolètes donc vulnérables à des failles de sécurité. C’est la conclusion d’une recherche menée par 6 scientifiques du College of Computer and Information Science de Northeastern. L’équipe a analysé plus de 133 000 domaines et a constaté que 37% des bibliothèques JavaScript étaient désuètes.

Sur le plan méthodologique, les experts ont pris le parti de se concentrer sur 72 librairies JavaScript les plus populaires : jQuery, Angular, Handlebars, Bootstrap, Modernizr, Moment, LoDash, etc. Un choix arbitraire, car l’écosystème JavaScript est grand et le référentiel (repository) npm comprend plus de 100 000 librairies. Ils ont confronté ensuite ces bibliothèques choisies avec une base de données des vulnérabilités sur 133 000 sites web (en .com de manière aléatoire et sur Alexa).  A noter que l’analyse a non seulement vérifié les librairies du site, mais également les JavaScript chargés par des tiers comme les annonceurs.

3 à 4 ans pour les mises à jour des librairies

Les résultats révèlent donc que 37% des sites intègrent au moins une version de librairie vulnérable. 10% des sites disposent de deux ou plusieurs librairies faillibles. Parmi les types de bibliothèques impactées, les chercheurs recensent 36,7 % pour jQuery, 40,1 % pour Angular, 86,6 % pour Handlebars et 87,3 % pour YUI. Ils constatent par ailleurs que de nombreux sites continuent de charger des librairies SWFObject et YUI, qui ne sont plus gérées.

Au travers d’une seconde analyse, les scientifiques ont observé le délai de mise à jour des sites web. Ce délai (entre la date de sortie de la version vulnérable (chargée sur le site) et la date de la dernière version de la librairie) est en moyenne de 1177 jours pour les sites référencés sur Alexa et 1476 jours pour les sites en .com de manière aléatoire.  Les sites demeurent donc vulnérables pendant au moins 3 ou 4 ans.

Une communauté qui a grandi trop vite

Pour expliquer ce problème, les scientifiques pointent du doigt le manque de sensibilisation aux problèmes de sécurité de la communauté JavaScript. Les informations sur les bugs sont relativement difficiles à trouver et les développeurs ont été piégés par certaines librairies obsolètes. En effet, de nombreuses mises à jour ont arrêté la compatibilité ascendante et les développeurs ont dû réécrire leurs applications depuis le début.

Autre élément à décharge, la communauté JavaScript a grandi trop vite et les développeurs n’ont pas eu le temps d’intégrer une approche de sécurité tant dans l’écriture que la maintenance du code JavaScript.

A lire aussi :

Python et JavaScript séduisent, Bash et Perl rapportent

Un simple JavaScript fragilise la protection ASLR des puces

crédit photo : Scandinavianstock-Shutterstock