Étapes de la reproduction
The jQuery $.load() command provides a simple way to load content from other servers and insert it into the current web page. By design, as part of its sanitization process, it is supposed to remove “<script>” tags to ensure that malicious code cannot be inserted into the page and executed.
The vulnerability fails to recognize and remove “<script>” tags that contain a whitespace character, which can result in Cross-site Scripting attacks by including malicious code in the included script.
Aborder la question
Les clients utilisant jQuery avant la version 1.9.1 devraient mettre à jour immédiatement vers cette version, qui contient la correction. Alternativement, les clients qui ont besoin de rester sur 1.6 peuvent utiliser HeroDevs Never Ending Support qui fournit des versions de jQuery avec cette CVE et d'autres CVEs remédiées.
Apprentissage et prévention
Généralement, jQuery utilise plusieurs méthodes pour assainir les données. Dans le cas présent, la méthode d'assainissement comportait une vulnérabilité. Dans ce cas, la meilleure pratique commerciale consiste à se tenir au courant des mises à jour de sécurité afin que vos serveurs soient vulnérables le moins longtemps possible une fois que l'exploit a été rendu public.
Conclusion
HeroDevs jQuery Never-Ending Support peut rendre la vie de votre équipe plus facile et plus pratique en s'assurant qu'elle dispose du code le plus récent et le plus sécurisé pour toutes vos dépendances importantes. Contactez HeroDevs dès aujourd'hui pour vous inscrire à notre service de support complet.
Ressources
Entrée NIST CVE-2020-7656
Soyez alerté chaque fois qu'une nouvelle vulnérabilité est corrigée dans les logiciels open source que nous soutenons.