Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
9.8

CVE-2026-104846: Seroval versions before 1.6.2 let crafted JSON run code

CVE-2026-104846 · published 16 days ago
Summary

If you use Seroval (versions 0.12.0 through 1.6.2) to read JSON, an attacker can embed special data that causes your application to execute unwanted code when the JSON is parsed. This happens because the library incorrectly treats a promise-like object from a plug‑in as a normal promise and runs code it contains. Upgrade Seroval to version 1.6.2 or later to stop the issue.

What to do
  • Update seroval to version 1.6.2.
Affected software
Ecosystem VendorProductAffected versions
– lxsmnsyc seroval >= 0.12.0, < 1.6.2
npm – seroval >= 0.12.0, <= 1.6.0
>= 0.12.0, < 1.6.2
Fix: upgrade to 1.6.2
Original advisory text
Seroval: `fromJSON()` Promise thenable assimilation invokes plugin-produced callables (bypass of GHSA-mv8w-475r-vwqw)
Seroval facilitates JS value stringification, including complex structures beyond JSON.stringify capabilities. From 0.12.0 until 1.6.2, fromJSON deserialization of a fulfilled Promise control node can pass a plugin-produced callable-bearing thenable to a native Promise resolver. ECMAScript thenable assimilation then invokes the callable unexpectedly, allowing attacker-controlled JSON to trigger code in applications using plugin-capable Seroval releases. This path bypasses the Promise resolver type-confusion remediation in version 1.5.3 for CVE-2026-59940 because the unexpected invocation occurs through native Promise settlement after the referenced value is deserialized. This issue is fixed in version 1.6.2.
Fix within
Internet-facing 3 days
Internal 60 days
  • Not known to be exploited
  • Can be exploited automatically
  • Gives an attacker full control
Severity
9.8 Critical
Exploitation
<1% chance of attack within 30 days
Type
CWE-843Type Confusion
Timeline
Published2 Oct 2026
Updated15 Oct 2026
First seen2 Oct 2026
Track software like this
Free during beta