Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.6.8
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
Seroval, a JavaScript library for serializing values, is affected in versions from 1.4.1 up to (but not including) the fixed release, specifically through its deserialization functions fromJSON and fromCrossJSON. A small crafted input can make the library allocate excessive memory or loop for a long time, which can crash the host process or freeze its thread, and it can be triggered without authentication.
Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.
Read the original description
Seroval facilitates JavaScript value stringification, including complex structures beyond JSON.stringify capabilities. From 1.4.1 until 1.6.8, fromJSON and fromCrossJSON do not require an array node's element list to be an actual array. A small crafted payload can supply an attacker-controlled length that determines memory allocation and decoder iterations independently of payload size, allowing an unauthenticated request to exhaust the process or block its thread. This issue is a residual bypass of the remediation for CVE-2026-23957. This issue is fixed in version 1.6.8.
Timeline
- CVE published
- First seen by cve.now
Affected versions
- lxsmnsyc seroval
From 1.4.1 · fixed in 1.6.8
- serovalnpm
From 1.4.1 · fixed in 1.6.8