Description
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.
Problem types
CWE-674: Uncontrolled Recursion
Product status
References
github.com/...latted/security/advisories/GHSA-25h7-pfq9-p65f
github.com/...latted/security/advisories/GHSA-25h7-pfq9-p65f
github.com/WebReflection/flatted/pull/88
github.com/...ommit/7eb65d857e1a40de11c47461cdbc8541449f0606