CVE-2026-59940: Seroval: `seroval.fromJSON()` Promise resolver type confusion invokes attacker-controlled methods during deserialization
Seroval facilitates JS value stringification, including complex structures beyond JSON.stringify capabilities. Prior to 1.5.3, seroval.fromJSON() allows attacker-controlled JSON Promise control nodes to operate on values from the general deserialization reference table without verifying genuine internal Promise resolver records, causing deserialization side effects with plugins enabled and potentially unintended server-side invocation or remote code execution when downstream frameworks register callable wrappers. This issue is fixed in version 1.5.3.
Security readout for executives and security teams
Plain-English summary
Seroval versions before 1.5.3 can mishandle specially structured, attacker-controlled JSON during deserialization. In affected applications, this may trigger unintended server-side behavior and, in certain framework integrations, potentially remote code execution. Impact depends on whether untrusted data reaches seroval.fromJSON(), plugins are enabled, and callable wrappers are registered.
Executive priority
Treat as an immediate remediation priority for internet-facing or multi-tenant services that deserialize untrusted data with affected Seroval versions. Rapidly establish exposure, then upgrade. Systems without an untrusted path to seroval.fromJSON() are lower urgency but should still remove the vulnerable dependency promptly.
Technical view
Promise control nodes can reference general deserialization-table values without confirming they are genuine internal Promise resolver records. This type confusion can invoke attacker-controlled methods as a deserialization side effect. The highest stated impact requires plugins and downstream callable-wrapper integration. Version 1.5.3 fixes the issue.
Likely exposure
Exposure exists where seroval below 1.5.3 is directly or transitively deployed and attacker-controlled JSON reaches seroval.fromJSON(). Server-side applications using plugins and frameworks that register callable wrappers face the greatest stated risk. The bundle does not identify specific downstream frameworks or confirm that every Seroval deployment is exploitable.
Exploitation context
The CVSS 3.1 score is 9.8, reflecting a network-accessible, low-complexity, unauthenticated scenario without user interaction. However, the supplied record is not in KEV, and no cited source establishes active exploitation. Practical impact remains configuration- and data-flow-dependent.
Researcher notes
Focus review on Promise control-node handling, reference-table type validation, plugin-enabled deserialization, and framework registrations that make referenced values callable. The sources describe possible remote code execution but do not name affected downstream frameworks, provide deployment prevalence, or demonstrate exploitation in the wild. Avoid treating the CVSS worst case as universal.
Mitigation direction
Upgrade Seroval to version 1.5.3 or later.
Update lockfiles and rebuild deployed artifacts to remove vulnerable transitive copies.
Prevent untrusted JSON from reaching seroval.fromJSON() until upgrading.
Review vendor guidance for any framework-specific remediation or compatibility requirements.
Validation and detection
Inventory direct and transitive Seroval versions across applications and deployed bundles.
Trace whether attacker-controlled data can reach seroval.fromJSON().
Identify enabled Seroval plugins and downstream callable-wrapper registrations.
Confirm production artifacts resolve Seroval to version 1.5.3 or later.
Run existing deserialization and integration tests after upgrading.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-502: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
2Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-502 · source CWE mapping
Deserialization of Untrusted Data
Deserialization of Untrusted Data represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Access of Resource Using Incompatible Type represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.