Aller au contenu
Développeur Full Stack
, , ,

joi : déni de service lors de la validation d’e-mails multiples

Dans cet article 5 rubriques
Veille sécuritéBackend & données
P3Élevée

Une expression régulière utilisée pour séparer plusieurs adresses e-mail peut entraîner un traitement quadratique lorsqu’une longue séquence d’espaces ne contient pas de séparateur. Une requête spécialement construite peut alors bloquer la boucle d’événements Node.js.

JavaScriptNode.js
IdentifiantCVE-2026-118772
GravitéÉlevée
Exploitationnon connue / non déterminée
Correctifjoi 17.13.9 et 18.3.1

Source : NVD — CVE-2026-118772

Analyse technique

Le coût quadratique concerne l’option multiple et le séparateur par défaut ou personnalisé. Une règle .max() seule peut ne pas suffire si abortEarly: false laisse l’évaluation de la règle e-mail se poursuivre.

Impact, versions et correctif

Événement datéLa fiche NVD fournie indique une publication le 29 octobre 2026. La mise à jour du 30 octobre est postérieure à la période et n’est pas considérée comme l’événement.
ImpactDéni de service par blocage de la boucle d’événements Node.js.
Versions affectéesjoi de 17.1.1 à 17.13.8 et de 18.0.0 à 18.3.0
Version corrigéejoi 17.13.9 et 18.3.1
Exploitation activenon connue / non déterminée
PoC publicinconnu
CVSS7.5
Publication2026-10-29T19:17:19.563Z
Mise à jour2026-10-30T19:37:07.073Z

Détection / vérification

Repérer l’usage de Joi.string().email({ multiple: true }) sur des valeurs contrôlables par un utilisateur, notamment sans limite de longueur appliquée avant l’évaluation de la règle.

Action recommandée

Mettre à niveau vers joi 17.13.9 ou 18.3.1, selon la branche utilisée, et appliquer une limite effective aux entrées non fiables.

Sources

Priorisation DFS : P3 · 1 source(s).

Article précédent :
Article suivant :