CVE-2026-59940
Full vulnerability record from the local CVENow database.
Description
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.
Severity
CRITICAL
CVSS score
9.8
(v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-08-18 15:16:56.007000
Last modified
2026-10-22 22:10:00.250000
View original CVE JSON
{
"id": "CVE-2026-59940",
"sourceIdentifier": "[email protected]",
"published": "2026-08-18T15:16:56.007",
"lastModified": "2026-10-22T22:10:00.250",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "Seroval facilita la conversión a cadena de valores JS, incluyendo estructuras complejas que van más allá de las capacidades de JSON.stringify. Antes de la versión 1.5.3, seroval.fromJSON() permite que nodos de control de Promise JSON controlados por el atacante operen sobre valores de la tabla de referencia general de deserialización sin verificar los registros genuinos del resolvedor interno de Promise, causando efectos secundarios de deserialización con los plugins habilitados y una invocación no intencionada del lado del servidor o ejecución remota de código cuando los frameworks descendentes registran envoltorios invocables. Este problema está solucionado en la versión 1.5.3."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "lxsmnsyc",
"product": "seroval",
"versions": [
{
"version": "< 1.5.3",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 9.8,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 5.9
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-18T15:49:53.645084Z",
"id": "CVE-2026-59940",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-502"
},
{
"lang": "en",
"value": "CWE-843"
}
]
}
],
"references": [
{
"url": "https://github.com/lxsmnsyc/seroval/security/advisories/GHSA-mv8w-475r-vwqw",
"source": "[email protected]"
}
]
}