Une réponse SMTP malveillante contenant de nombreuses lignes de continuation peut faire traiter le parseur de Nodemailer avec une complexité quadratique et bloquer la boucle d’événements Node.js avant authentification. Le problème touche les versions 3.0.0 à 10.0.9 et est corrigé dans la version 10.0.10.
Analyse technique
Le client concatène les lignes de continuation dans une réponse accumulée et réévalue à chaque ligne si la réponse est partielle, ce qui entraîne un travail quadratique et une croissance sans borne de la réponse. Un serveur SMTP malveillant ou un attaquant intermédiaire sur un trajet non chiffré peut provoquer le blocage avant l’authentification.
Impact, versions et correctif
Action recommandée
Mettre à niveau Nodemailer vers 10.0.10 ou une version ultérieure.
Sources
Priorisation DFS : P4 · 1 source(s).