CVE-2026-116584
Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
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.
- Record
CVE-2026-116584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2026-110463
7.5
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.
- Record
EUVD-2026-110463- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-wp97-x4hv-qvhp
7.5
Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
Summary
fromJSON and fromCrossJSON did not check that an array node's element list is an array. A small crafted payload could set the length the decoder used. That length controlled how much memory was allocated and how many times the decoder looped, and it did not depend on the size of the payload.
Impact
A service that passes untrusted input to fromJSON or fromCrossJSON can be made unavailable by an unauthenticated request.
- A small payload can allocate enough memory to end the process.
- A small payload can block the thread for seconds, or without end.
This affects any framework that decodes request bodies with these functions before its own validation runs.
This issue is a bypass of the fix for GHSA-66fc-rw6m-c2q6 in 1.4.1.
Patches
Fixed in [email protected]. The deserializer now rejects any node whose element list is not an array, and throws SerovalMalformedNodeError.
Workarounds
None. Upgrade to 1.6.8.
- Record
GHSA-wp97-x4hv-qvhp- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2026-116584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-03
OSV
7.5
Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
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.
- Record
CVE-2026-116584- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-04
OSVGHSA-wp97-x4hv-qvhp
7.5
Seroval `fromJSON`/`fromCrossJSON` denial of service via unvalidated array node length
Summary
fromJSON and fromCrossJSON did not check that an array node's element list is an array. A small crafted payload could set the length the decoder used. That length controlled how much memory was allocated and how many times the decoder looped, and it did not depend on the size of the payload.
Impact
A service that passes untrusted input to fromJSON or fromCrossJSON can be made unavailable by an unauthenticated request.
- A small payload can allocate enough memory to end the process.
- A small payload can block the thread for seconds, or without end.
This affects any framework that decodes request bodies with these functions before its own validation runs.
This issue is a bypass of the fix for GHSA-66fc-rw6m-c2q6 in 1.4.1.
Patches
Fixed in [email protected]. The deserializer now rejects any node whose element list is not an array, and throws SerovalMalformedNodeError.
Workarounds
None. Upgrade to 1.6.8.
- Record
GHSA-wp97-x4hv-qvhp- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-770
- Updated
- 2026-11-02
OSVCLSA-2026-1793699098 No score
TuxCare security update for seroval (2 CVEs)
TuxCare rebuilt seroval to address 2 CVEs. Fixed in 1.5.6-tuxcare.4.
- Record
CLSA-2026-1793699098- Updated
- 2026-11-03
Affected products
Affected packages
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| affected, aliases | EUVD, NVD, OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-116584 is a high vulnerability (CVSS 7.5) in Lxsmnsyc Seroval, published October 26, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.36%, the 30th percentile. Fixed in seroval 1.6.8.
References
github.com/lxsmnsyc/seroval/security/advisories/GHSA-wp97-x4hv-qvhp
github.com/lxsmnsyc/seroval/commit/cdcee3e3bc384ee844360844f8ea98fd2b275d69
github.com/lxsmnsyc/seroval/releases/tag/[email protected]
nvd.nist.gov/vuln/detail/CVE-2026-116584
github.com/advisories/GHSA-wp97-x4hv-qvhp
github.com/CVEProject/cvelistV5/tree/main/cves/2026/116xxx/CVE-2026-116584.json
github.com/lxsmnsyc/seroval