CVE-2026-116580 in Serovalinfo

Summary

by MITRE • 10/26/2026

Seroval facilitates JavaScript value stringification, including complex structures beyond JSON.stringify capabilities. Prior to 1.6.8, fromJSON rebuilds an AsyncIteratorFactoryInstance by calling source.on(listener) without requiring source to be a genuine internal stream. With untrusted Seroval input and an application plugin that returns a callable value or an object exposing an on method, a crafted node can reuse an identifier so the deserializer invokes the plugin-produced value. This is an incomplete-fix variant of CVE-2026-59940. The resulting confidentiality, integrity, or availability impact depends on the behavior exposed by the application plugin. This issue is fixed in version 1.6.8.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 10/27/2026

The vulnerability identified as Seroval prior to version 1.6.8 represents a critical flaw in the deserialization logic of the JavaScript value stringification library, specifically within its fromJSON method. Seroval is designed to facilitate robust serialization and deserialization of complex JavaScript structures that exceed standard JSON capabilities. However, the implementation contains an incomplete fix for CVE-2026-59940, which allows attackers to exploit improper validation during the reconstruction of internal objects. The core technical flaw lies in how the library handles AsyncIteratorFactoryInstance instances. When rebuilding this instance from serialized data, the deserializer invokes a listener registration method on the source object without verifying that the source is a genuine internal stream or trusted entity. This lack of strict type checking and origin validation creates an opening for malicious actors to inject arbitrary objects into the deserialization process.

The operational impact stems from the ability of untrusted input to trigger side effects through application plugins. If an attacker provides crafted Seroval input that references an identifier, they can cause the deserializer to invoke a value produced by an active application plugin rather than reconstructing a safe internal state. This is particularly dangerous in environments where applications utilize plugins that expose callable values or objects with an on method. By reusing identifiers and leveraging these exposed interfaces, an attacker can manipulate the execution flow of the host application. The resulting impact on confidentiality, integrity, or availability depends entirely on the specific behavior implemented by the vulnerable plugin, potentially leading to remote code execution, data exfiltration, or denial of service conditions depending on the context in which Seroval is deployed.

From a classification perspective, this vulnerability aligns with CWE-502, Deserialization of Untrusted Data, as it involves processing input that can alter internal program state without proper validation. It also relates to CWE-913, Improper Control of Dynamically-Managed Code Resources, because the flaw allows control over dynamically loaded plugin functions through manipulated serialization data. In terms of attack vectors, this falls under MITRE ATT&CK technique T1059, Command and Scripting Interpreter, if the exploited plugin leads to script execution, or more broadly under injection-based attacks where untrusted input influences code interpretation. The incomplete nature of previous fixes highlights the complexity of securing deserialization logic in libraries that support complex object graphs and dynamic method invocation.

Mitigation for this vulnerability requires an immediate upgrade to Seroval version 1.6.8 or later, which addresses the flawed validation logic within the fromJSON method. Developers should also audit their application plugins to ensure they do not expose sensitive methods such as on listeners that can be triggered via deserialized data without explicit user consent or context verification. Implementing strict allowlists for permitted plugin interactions and validating the origin of serialized objects before processing them can further reduce the attack surface. Additionally, employing sandboxed environments for parsing untrusted Seroval input can isolate potential exploits from critical application components, thereby limiting the blast radius in case a vulnerability is successfully exploited.

Responsible

GitHub M

Reservation

10/26/2026

Disclosure

10/26/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!