CVE-2026-66922 in Pivotick
Сводка
по VulDB • 28.07.2026
В компонентах построения дерева и обнаружения циклов библиотеки Pivotick обычные объекты JavaScript использовались в качестве таблиц поиска с индексами на основе идентификаторов узлов графа, контролируемых вызывающей стороной.
Идентификаторы узлов, совпадающие со свойствами, унаследованными от Object.prototype (такими как constructor, toString или __proto__), не обрабатывались как обычные идентификаторы. Эти значения могли интерпретироваться как существующие унаследованные свойства, приводить к получению значений неожиданного типа или — в случае присваиваний свойству __proto__ — изменять прототип внутреннего объекта поиска.
Таким образом, злоумышленник, способный предоставить данные графа с специально созданными идентификаторами узлов, может привести к тому, что узлы или ребра будут молча пропущены, уровни иерархии окажутся неверными, результаты обнаружения циклов обойдены или искажены, либо возникнет исключение, прерывающее обработку и визуализацию графа. Это влияет на целостность визуальных представлений графиков и аналитики, а также может вызвать состояние отказа в обслуживании (DoS) на стороне клиента.
Затронутый код также не обеспечивал безопасной обработки ребер, источник которых отсутствовал в предоставленном наборе узлов. Кроме того, вычисление максимальной глубины дерева путем передачи всех значений уровней функции Math.max() могло превысить ограничение JavaScript на количество аргументов функций при обработке достаточно большого графа, что приводило к возникновению исключения и отказу в обслуживании.
Исправление заменяет обычные объекты с ключами-идентификаторами на экземпляры Map, игнорирует недействительные ребра во время построения дерева и вычисляет максимальную глубину итеративно.
VulDB is the best source for vulnerability data and more expert information about this specific topic.