Accédez à n’importe quel site web. La possibilité pour votre navigateur d’exécuter une bibliothèque JavaScript est très grande : jQuery, le plus populaire de tous, est même dans cet article que vous avez commencé à lire. Ces bibliothèques permettent de développer des applications de manière rapide et compatible avec un grand nombre de navigateurs. Elles seules ont des défauts et, comme vous pouvez l’imaginer, le web regorge de ces versions obsolètes.
Des chercheurs de la Northeastern University ont analysé 133 000 sites et ont constaté que 37 % d’entre eux possèdent au moins une bibliothèque JavaScript présentant des failles de sécurité connues. Dans 9,7 % des domaines étudiés, il y avait deux bibliothèques vulnérables ou plus ( !). La situation est moins grave qu’il y a trois ans, lorsqu’une étude similaire a montré que 60% des pages comportaient un code défectueux.
Parmi les 75 000 sites les plus populaires dans le monde, selon le classement d’Alexa, la bibliothèque la plus courante est jQuery, avec une participation de 84,5 % dans les pages. Parmi ces sites, 36,7 % utilisent une version vulnérable, qui peut provoquer un mal de tête important : en 2013, par exemple, une faille dans jQuery a permis à des personnes malveillantes d’injecter du code malveillant par le biais d’un tag spécifique.
La situation est pire lorsqu’il s’agit d’autres bibliothèques : 40,1 % des sites avec Angular, 86,6 % avec Handlebars et 87,3 % avec YUI (développé par Yahoo) utilisent des versions présentant des failles de sécurité. Ces bibliothèques obsolètes peuvent ouvrir la voie à des attaques de type XSS (cross-site scripting), où un utilisateur malveillant injecte du code malveillant dans des pages “de confiance” ; et à des demandes et des corrections de session falsifiées, où une personne peut tromper un système pour en faire passer un autre.
Le problème est causé par le manque de maintenance sur les sites de ? ou même par le manque de soin du développeur, qui ne met pas constamment à jour les bibliothèques JavaScript intégrées dans les pages. Mais même sur les 75 000 sites les plus populaires, le tableau n’est pas tellement meilleur : 21 % des pages utilisent des bibliothèques vulnérables, contre 37 % dans tous les domaines de l’étude.
Pour nous, il n’y a pas grand-chose à faire, si ce n’est de faire payer les entreprises pour la mise à jour de leurs bibliothèques. Mais le mieux est que les développeurs arrêtent de coller jQuery dans n’importe quoi pour mettre une animation dans un lien.