# CVE-2026-104846: Seroval Promise thenable code execution via fromJSON deserialization

Source: https://junglewise.ai/threats/cve-2026-104846-seroval-facilitates-js-value-stringification-including-complex  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-02. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-104846 · Severity: critical · CVSS 9.8 · Published 2026-10-02

Seroval is a JavaScript library that serializes and deserializes complex JavaScript objects beyond what standard JSON supports. A flaw in how it deserializes Promise objects allows an attacker to inject malicious code that executes when a crafted JSON payload is deserialized, potentially giving the attacker complete control over the application. Applications using Seroval's plugin system are vulnerable unless they upgrade.

Technologies: [seroval (npm)](https://junglewise.ai/threats/technologies/seroval). Vendors: [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2026-104846 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-104846 being exploited in the wild.

**How severe is CVE-2026-104846?** Critical severity, with a CVSS score of 9.8, published 2 October 2026.

**Which products and versions are affected?** seroval (npm) >= 0.12.0, <= 1.6.0, SEMVER:introduced=0.12.0,fixed=1.6.2; Seroval 0.12.0 through 1.6.1.

**Is there a fix for CVE-2026-104846?** Yes. seroval (npm): upgrade to 1.6.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-104846 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-104846?** Check whether you run seroval (npm) or Seroval at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- seroval (npm): upgrade to 1.6.2 or later

  ```sh
  npm install seroval@1.6.2
  ```


## Technical details

The vulnerability exists in the fromJSON deserialization function when processing fulfilled Promise control nodes. A plugin-produced callable can be passed as a thenable to the native Promise resolver, triggering ECMAScript thenable assimilation which invokes the callable unexpectedly. This bypasses the type-confusion remediation from CVE-2026-59940 (v1.5.3) because the invocation occurs through native Promise settlement after value deserialization completes.

## Affected products

- Seroval Seroval 0.12.0 through 1.6.1

## Identifiers

- CVE-2026-104846
- GHSA-p6vx-979v-rg4c

## Timeline

- 2026-09-19: disclosed
- 2026-08-25: patched: Fix committed; version 1.6.2 released
- 2026-10-02: advisory

## References

- [https://github.com/lxsmnsyc/seroval/commit/f1ffcc96d259f9b5b3d71feb262b58240c90e7b7](https://github.com/lxsmnsyc/seroval/commit/f1ffcc96d259f9b5b3d71feb262b58240c90e7b7)
- [https://github.com/lxsmnsyc/seroval/security/advisories/GHSA-p6vx-979v-rg4c](https://github.com/lxsmnsyc/seroval/security/advisories/GHSA-p6vx-979v-rg4c)

## Related threats

- [Seroval denial of service via array-like object in deserialization](https://junglewise.ai/threats/cve-2026-116584-seroval-facilitates-javascript-value-stringification-including)
- [Seroval typed array constructor name injection](https://junglewise.ai/threats/cve-2026-116583-seroval-facilitates-javascript-value-stringification-including)
- [Seroval JavaScript RegExp code injection in HTML script elements](https://junglewise.ai/threats/cve-2026-116582-seroval-facilitates-javascript-value-stringification-including)
- [Seroval improper sequence node validation in deserialization](https://junglewise.ai/threats/cve-2026-116581-seroval-facilitates-javascript-value-stringification-including)
- [Seroval incomplete fix for AsyncIterator deserialization bypass](https://junglewise.ai/threats/cve-2026-116580-seroval-facilitates-javascript-value-stringification-including)
