CVE-2026-66922 in Pivotick
Résumé
par VulDB • 28/07/2026
Pivotick utilisait des objets JavaScript standards (plain objects) comme tables de hachage indexées par des identifiants de nœuds de graphe contrôlés par l'appelant dans ses composants d'arbre et de détection de cycles.
Les identifiants de nœuds correspondant aux propriétés héritées de Object.prototype, telles que constructor, toString ou __proto__, n'étaient pas traités comme des identifiants ordinaires. Ces valeurs pouvaient être interprétées comme des propriétés héritées existantes, résoudre vers des types inattendus, ou – dans le cas d'attributions à __proto__ – modifier le prototype d'un objet de recherche interne.
Un attaquant capable de fournir des données de graphe contenant des identifiants de nœuds truqués pourrait par conséquent entraîner l'omission silencieuse de nœuds ou d'arêtes, produire des niveaux hiérarchiques incorrects, contourner ou corrompre les résultats de détection de cycles, ou déclencher une exception interrompant le traitement et le rendu du graphe. Cela affecte l'intégrité des visualisations graphiques et des analyses, et peut provoquer un état de déni de service côté client (DoS).
Le code concerné échouait également à gérer en toute sécurité les arêtes dont le nœud source était absent de l'ensemble de nœuds fourni. De plus, le calcul de la profondeur maximale d'un arbre en étalant toutes les valeurs de niveau dans Math.max() pouvait dépasser la limite des arguments de fonction JavaScript lors du traitement d'un graphe suffisamment volumineux, entraînant une exception et un déni de service.
Le correctif remplace les objets standards indexés par clé (identifier-keyed plain objects) par des instances Map, ignore les arêtes invalides pendant la construction de l'arbre, et calcule la profondeur maximale de manière itérative.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.