CVE-2020-11023

Scripts croisés (Cross-Site Scripting)
Affectations
jQuery
>=1.0.3 <3.5.0
en
jQuery
Icône de cercle d'exclamation
Patch disponible
Cette vulnérabilité a été corrigée dans la version Never-Ending Support (NES) proposée par HeroDevs.

É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

Détails de la vulnérabilité
ID
CVE-2020-11023
PROJET concerné
jQuery
Versions concernées
>=1.0.3 <3.5.0
≈ Date fixe
1er février 2023
Fixé en
Sévérité
Moyen
Catégorie
Scripts croisés (Cross-Site Scripting)