UNKNOWNCVE-2026-33750

brace-expansion : Une séquence à zéro étape provoque un blocage du processus et une saturation de la mémoire

Plateforme

nodejs

Composant

brace-expansion

Corrigé dans

5.0.5

### Impact Un modèle d’accolade avec une valeur d’étape nulle (par exemple, `{1..2..0}`) provoque l’exécution indéfinie de la boucle de génération de séquence, ce qui bloque le processus pendant des secondes et alloue des tas de mémoire. La boucle en question : https://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L184 `test()` est l’un des https://github.com/juliangruber/brace-expansion/blob/daa71bcb4a30a2df9bcb7f7b8daaf2ab30e5794a/src/index.ts#L107-L113 L’incrément est calculé comme `Math.abs(0) = 0`, de sorte que la variable de boucle n’avance jamais. Sur une machine de test, le processus se bloque pendant environ 3,5 secondes et alloue environ 1,9 Go de mémoire avant de lancer une `RangeError`. La définition d’une valeur maximale n’a aucun effet, car la limite n’est vérifiée qu’à l’étape de combinaison de la sortie, et non pendant la génération de la séquence. Cela affecte toute application qui transmet des chaînes non fiables à expand(), ou qui, par erreur, définit une valeur d’étape de `0`. Cela inclut les outils construits sur minimatch/glob qui résolvent les modèles à partir d’arguments CLI ou de fichiers de configuration. L’entrée nécessaire n’est que de 10 octets. ### Correctifs Mettre à niveau vers les versions - 5.0.5+ Un incrément d’étape de 0 est maintenant nettoyé à 1, ce qui correspond au comportement de bash. ### Workaro

Comment corriger

Aucun correctif officiel disponible. Recherchez des alternatives ou surveillez les mises à jour.

Surveillez vos dépendances automatiquement

Recevez des alertes quand de nouvelles vulnérabilités affectent vos projets.

Commencer gratuitement