`toml.parse()` recalcule le préfixe complet d’une clé à chaque segment pour plusieurs formes de clés et de chemins de table. Un document comportant un chemin pointé très long peut déclencher un coût quadratique, bloquer l’analyse et, avec des entrées suffisamment volumineuses, épuiser la mémoire du processus.
Source : GHSA-9j65-hcg3-gc64 — toml-node
Analyse technique
Les fonctions de compilation recalculent à chaque segment le chemin complet à partir d’une tranche de la liste des segments, entraînant un coût O(n²). La limite `maxDepth` ne borne pas la longueur des clés pointées.
Impact, versions et correctif
Détection / vérification
Vérifier la version de `toml` et si des documents TOML non fiables peuvent contenir des clés pointées ou des chemins de table très longs.
Action recommandée
Mettre à niveau vers toml 5.0.1 ou ultérieur. En attendant, limiter la taille des documents TOML non fiables et la longueur de leurs clés pointées.
Sources
Priorisation DFS : P3 · 1 source(s).