GHSA-97r2-qh9m-474h

Suggest an improvement
Source
https://github.com/advisories/GHSA-97r2-qh9m-474h
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-97r2-qh9m-474h/GHSA-97r2-qh9m-474h.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-97r2-qh9m-474h
Aliases
Published
2026-10-28T21:17:27Z
Modified
2026-10-28T21:30:06Z
Severity
  • 7.5 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
Seroval: fromJSON deserializer trusts node-supplied array length and sequence doneAt (unauthenticated event-loop DoS)
Details

Summary

fromJSON and fromCrossJSON used two node fields without checking them.

  • An array node's element list was not checked to be an array. A small payload could set the length the decoder looped over. This part is also tracked in GHSA-wp97-x4hv-qvhp.
  • A sequence node's done index was not checked. A crafted value produced an iterator that never finished.

Impact

A service that passes untrusted input to fromJSON or fromCrossJSON can be made unavailable by an unauthenticated request.

  • The array case blocks the thread while the decoder runs.
  • The sequence case makes any code that reads the resulting iterator to the end run forever.

Patches

Fixed in seroval@1.6.8.

  • Element lists must be arrays.
  • A sequence node's throw and done indices must be integers from -1 up to the last element index.

Invalid input throws SerovalMalformedNodeError.

Workarounds

None. Upgrade to 1.6.8.

Database specific
{
    "cwe_ids":  [
        "CWE-1284",
        "CWE-835"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-10-28T21:17:27Z",
    "nvd_published_at":  "2026-10-26T21:18:15Z",
    "severity":  "HIGH"
}
References

Affected packages

npm / seroval

Package

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
1.6.8

Database specific

last_known_affected_version_range
"<= 1.6.7"
source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-97r2-qh9m-474h/GHSA-97r2-qh9m-474h.json"