Un bogue regex non corrigé laisse les applications Node.js ouvertes aux attaques ReDoS

Ben Dickson

24 juin 2020 à 14:27 UTC

Un bogue regex non corrigé laisse les applications Node.js ouvertes aux attaques ReDoS

Mis à jour: 24 juin 2020 à 14:29 UTC

Un exploit provoque la conversion d’une bibliothèque regex populaire en une application haltNode.js utilisant la bibliothèque url-regex populaire est potentiellement vulnérable aux attaques par déni de service par expression régulière (ReDoS), un avis GitHub avertit.Le bogue, initialement découvert et déposé par l’ingénieur logiciel Nick Baugh, affecte toutes les versions d’url-regex et n’a pas encore été corrigé.Le package url-regex est téléchargé environ trois millions de fois par mois.Les applications utilisent des bibliothèques d’expressions régulières pour rechercher et analyser les chaînes d’entrée en fonction des modèles pertinents.Un acteur malveillant peut exploiter cette fonctionnalité en envoyant une chaîne soigneusement conçue qui provoque une situation extrême dans laquelle la bibliothèque url-regex ralentit à une analyse et arrête le serveur d’applications, provoquant ainsi une attaque ReDoS.

Un bug dangereux mais rare

La vulnérabilité ReDoS dans url-regex entre en jeu lorsque l’attaquant fournit une chaîne très longue et invalide à l’analyseur d’expression, selon une preuve de concept fournie par Baugh à la base de données de vulnérabilité de Snyk.io. Un attaquant peut exploiter cette vulnérabilité pour «provoquer le service de consommer excessivement CPU, ce qui entraîne un déni de service « , a écrit Baugh. Le chercheur a découvert le bogue en travaillant sur Spam Scanner, une bibliothèque qu’il maintient. RELATED Blind regex injection: L’exploitation théorique offre de nouveaux moyens de forcer les applications Web à se répandre les secrets

Dans des commentaires écrits à The Daily Swig, Baugh a déclaré: « Je tokenize les e-mails pour former notre classificateur anti-spam, et cela provoquerait le CPU à 100%. » ​​J’ai un ensemble de données de centaines de Go de spam que j’ai accumulé pour la recherche, et après l’avoir fait à mi-chemin (ce qui prend des heures), il a gelé le processus. »La base de données nationale du NIST sur la vulnérabilité a classé le score de risque de la vulnérabilité à« 7,5 ou plus ». Cependant, Baugh confirme que le bogue ReDoS est un cas de pointe. « Peu de gens l’utilisent d’une manière qui peut être exploitée par d’autres, à ma connaissance, donc ce n’est pas un risque de sécurité énorme », a-t-il déclaré. « Mais pour quiconque analyser les URL dans des choses comme les soumissions de formulaires avec cela, alors c’est certainement un risque. Je pense qu’il n’a pas été découvert plus tôt parce que les gens ne l’utilisaient pas comme moi. « 

Un silence inquiétant mène à l’exode

Les responsables de url-regex n’ont pas encore répondu aux questions des chercheurs en sécurité.Un avis de l’équipe de sécurité de Snyk, publié sur le problème GitHub du bogue le 2 juin, se lit comme suit: Nous avons vérifié cette vulnérabilité et nous sommes allés pour essayer de discuter de ce problème plus en détail avec les mainteneurs plusieurs fois. Pour l’instant, nous n’avons toujours pas reçu de réponse, et en raison de cette vulnérabilité déjà exposée publiquement, nous pensons que la chose responsable à faire est de passer à la divulgation officielle.Le bogue n’a pas encore été corrigé.La vulnérabilité exceptionnelle a incité certains développeurs pour échanger url-regex pour d’autres bibliothèques d’expressions régulières. Baugh a proposé d’utiliser node-re2, une bibliothèque d’expressions régulières qui ne souffre pas du même vuln. La bibliothèque url-regex a été supprimée de la plate-forme de création de site Web Wix lundi et remplacée par is-url-superb. « Url-regex a un security vulnérabilité.is-url-superb utilise une API d’URL native pour vérifier que le texte est une URL valide. beaucoup plus propre », lit un engagement de sécurité publié sur le référentiel GitHub de Wix. Les responsables de la bibliothèque postcss-values-parser ont également supprimé url-regex de leur arbre de dépendance lundi, déclarant:« Il existe une vulnérabilité ouverte dans url-regex (kevva / url-regex # 70) et aucun correctif disponible. « Le Daily Swig a contacté les responsables de url-regex et mettra à jour ce message si nous recevons des commentaires. LIRE LA SUITE Drupal plugs duo de failles de sécurité critiques dans les CMS open source

Tags: