Étapes de la reproduction
Cet exploit XSS (Cross-Site Scripting) est présent dans toutes les versions publiques d'AngularJS. Il n'est présent qu'avec le navigateur Internet Explorer, qui présente un bogue dans la mise en cache des pages lorsqu'il s'agit de zones de texte. Un acteur malveillant peut insérer un code dangereux que le navigateur exécutera, donnant ainsi accès à des données ou à une fonction de script (l'attaquant trompe l'application ou le site en acceptant une requête comme si elle provenait d'une source de confiance). Une preuve de concept démontrant cet exploit est disponible sur StackBlitz.
Aborder la question
Les utilisateurs du navigateur Internet Explorer sont des vecteurs de cet exploit potentiel lorsqu'ils utilisent toutes les versions publiques d'AngularJS. Les développeurs peuvent échapper leur code (voir ci-dessous) pour empêcher ce type d'attaque et devraient toujours mettre à jour vers une version de la bibliothèque avec le correctif.
Apprentissage et prévention
In general, XSS exploits are best avoided by escaping content that isn’t from a trusted source. Escaping can be done by libraries that specialize in this function. Using HTML for an example, they will take a < and > code them as < and >. Performing this transformation prevents code from being executed in locations where it can cause harm.
Conclusion
Les clients de HeroDevs ont été informés de la nécessité d'effectuer une mise à jour dès la sortie de la version 1.9.0. Si vous souhaitez bénéficier de la tranquillité d'esprit que procure un abonnement au support sans fin de HeroDevs, contactez notre équipe commerciale dès aujourd'hui.
Ressources
Entrée NIST 2022-25869
Soyez alerté chaque fois qu'une nouvelle vulnérabilité est corrigée dans les logiciels open source que nous soutenons.