Qu'est-ce qu'un module vulnérable ?
Un module vulnérable est une bibliothèque JavaScript tierce dont des failles de sécurité ont été découvertes et rendues publiques. Lorsqu'une faille est découverte, un score de criticité de 0 à 10 est déterminé selon plusieurs critères (vecteur d'attaque, complexité, privilèges nécessaires etc.) et donne place à une classification parmi trois niveaux :
- high, entre 7 et 10 : risques importants
- medium, entre 4 et 6,9 : risques modérés
- low, entre 0 et 3,9 : faibles risques
Pourquoi sont-ils dangereux ?
Les modules vulnérables peuvent être exploités par des pirates, qui selon les failles, peut avoir un impact plus ou moins grave sur l'intégrité et la confiance d'un site WEB. Afin de ne pas subir de piratage et ne pas compromettre les données des utilisateurs, il est nécessaire de combler ces failles.
Quelques exemples d'attaques :
- XSS (Cross-Site Scripting) : permet d'injecter du code exécuté par le navigateur dans une page, ce code renvoie par exemple le cookie des utilisateurs au pirate afin qu'il puisse se connecter sur la session d'un utilisateur
- CSRF (Cross-Site Request Forgery) : permet de faire des actions à l'utilisateur sans qu'il en ait conscience comme la suppression de son compte
- Injection SQL : permet d'accéder aux données de la base de données sans les autorisations nécessaires
- DoS (Denial of Service ) : rend hors service le navigateur à cause d'une consommation CPU/mémoire importante, par exemple
Comment les corriger ?
Lorsqu'un module JavaScript possède des failles de sécurité reconnues, il est nécessaire de :
- le mettre à jour avec une version plus récente
- utiliser un module alternatif
- le retirer du site WEB