Flatted — это циклический парсер JSON. До версии 3.4.0 функция parse() Flatted использовала рекурсивную фазу revive() для разрешения циклических ссылок в десериализованном JSON. При использовании созданной полезной нагрузки с глубоко вложенными или самоссылающимися $-индексами глубина рекурсии не ограничена, что приводит к переполнению стека, приводящему к сбою процесса Node.js.
Эта уязвимость исправлена в версии 3.4.0.
Показать оригинальное описание (EN)
flatted is a circular JSON parser. Prior to 3.4.0, flatted's parse() function uses a recursive revive() phase to resolve circular references in deserialized JSON. When given a crafted payload with deeply nested or self-referential $ indices, the recursion depth is unbounded, causing a stack overflow that crashes the Node.js process. This vulnerability is fixed in 3.4.0.
Характеристики атаки
Последствия
Строка CVSS v3.1