---
id: CVE-2026-59940
title: >-
  Seroval facilitates JS value stringification, including complex structures
  beyond JSON.stringify capabilities
summary: >-
  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…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-502
  - CWE-843
vendor: seroval
product: seroval
affected:
  - seroval <= 1.5.2
patched:
  - seroval 1.5.3
published: '2026-08-18'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T20:09:01.757'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-59940'
references:
  - url: >-
      https://github.com/lxsmnsyc/seroval/security/advisories/GHSA-mv8w-475r-vwqw
    label: security-advisories@github.com
  - url: 'https://www.npmjs.com/package/seroval/v/1.5.3'
  - url: 'https://github.com/advisories/GHSA-mv8w-475r-vwqw'
tags:
  - nvd
  - ghsa
  - npm
epss: 0.00812
epssPercentile: 0.55108
aliases:
  - GHSA-mv8w-475r-vwqw
ecosystem: npm
ingestedAt: '2026-07-24T16:33:09.588Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-59940)

Affected packages:

- `seroval <= 1.5.2`

Patched in:

- `seroval 1.5.3`

Source: https://github.com/advisories/GHSA-mv8w-475r-vwqw
