Étapes de la reproduction
This Medium level exploit is related to CVE-2020-11022; it can be found in jQuery versions greater than or equal to 1.0.3 and before 3.5.0. Instead of being concerned with general HTML (which CVE-2020-11022 handles), this problem may occur when passing HTML containing <option> elements, even after sanitizing it, to one of jQuery's DOM manipulation methods (i.e. .html(), .append(), and others). With input not correctly sanitized, these methods may execute untrusted code.
Aborder la question
Les clients doivent passer à la version 3.5.0 de jQuery immédiatement après avoir effectué des tests approfondis. Des tests approfondis sont nécessaires car la méthode d'assainissement utilisée dans jQuery.htmlPrefilter() a changé dans la version 3.5.0 et il existe des cas limites dans lesquels la fonctionnalité d'assainissement peut produire des résultats inattendus. Si l'ancien comportement est absolument nécessaire, le blog de la version 3.5.0 de jQuery décrit un moyen d'utiliser l'ancienne logique en toute sécurité.
Apprentissage et prévention
Sanitizing untrusted data before using or storing it is a security best practice for good reason: it is a common vector for breaking code. In this case, the error was found in the code designed to sanitize the data that specifically included <option> elements.
Normalement, l'utilisation des méthodes d'assainissement intégrées est suffisante. Cependant, malgré l'utilisation d'une nouvelle méthode d'assainissement dans la version 3.5.0, l'équipe jQuery recommande également d'utiliser la bibliothèque DOMPurify pour un assainissement supplémentaire et de s'assurer d'utiliser l'option SAFE_FOR_JQUERY. DOMPurify est une bibliothèque très populaire et hautement configurable, spécifiquement conçue pour aider à prévenir les exploits de type Cross-Site Scripting (XSS).
Conclusion
Afin de fournir les cadres Javascript les plus sécurisés possibles pour leurs sites, les clients de HeroDevs NES reçoivent cette version de jQuery et toutes les autres CVE pertinentes qui ont été corrigées.
Ce correctif corrige directement la faille de sécurité potentielle décrite par CVE-2020-11023. Pour rester informé des mises à jour de sécurité comme celles-ci, contactez-nous dès aujourd'hui pour devenir client.
Ressources
Soyez alerté chaque fois qu'une nouvelle vulnérabilité est corrigée dans les logiciels open source que nous soutenons.