CVE-2026-71430
Full vulnerability record from the local CVENow database.
Description
node-re2 provides RE2 regular expression bindings for Node.js. Prior to version 1.25.1, the WrappedRE2::Replace function built its replacement result and passed it to V8 using ToLocalChecked without checking for the empty MaybeLocal that V8 returns when the resulting string or buffer exceeds V8's maximum string length. When a global replace uses an output amplifying replacement template, the result can grow quadratically with the input size, and once the result exceeds V8's maximum string length, the unchecked ToLocalChecked call causes a fatal, uncatchable process abort instead of a catchable exception. This issue is fixed in version 1.25.1.
Severity
MEDIUM
CVSS score
6.2
(v3.1)
Vulnerability status
Awaiting Analysis
Source identifier
Published
2026-08-06 22:18:29.963000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
"id": "CVE-2026-71430",
"sourceIdentifier": "[email protected]",
"published": "2026-08-06T22:18:29.963",
"lastModified": "2026-10-24T15:10:00.190",
"vulnStatus": "Awaiting Analysis",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "node-re2 provides RE2 regular expression bindings for Node.js. Prior to version 1.25.1, the WrappedRE2::Replace function built its replacement result and passed it to V8 using ToLocalChecked without checking for the empty MaybeLocal that V8 returns when the resulting string or buffer exceeds V8's maximum string length. When a global replace uses an output amplifying replacement template, the result can grow quadratically with the input size, and once the result exceeds V8's maximum string length, the unchecked ToLocalChecked call causes a fatal, uncatchable process abort instead of a catchable exception. This issue is fixed in version 1.25.1."
},
{
"lang": "es",
"value": "node-re2 proporciona enlaces de expresiones regulares RE2 para Node.js. Antes de la versión 1.25.1, la función WrappedRE2::Replace construía su resultado de reemplazo y lo pasaba a V8 usando ToLocalChecked sin verificar el MaybeLocal vacío que V8 devuelve cuando la cadena o búfer resultante excede la longitud máxima de cadena de V8. Cuando un reemplazo global usa una plantilla de reemplazo que amplifica la salida, el resultado puede crecer cuadráticamente con el tamaño de la entrada, y una vez que el resultado excede la longitud máxima de cadena de V8, la llamada ToLocalChecked sin verificar causa una interrupción fatal e inatrapable del proceso en lugar de una excepción atrapable. Este problema está corregido en la versión 1.25.1."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "uhop",
"product": "node-re2",
"versions": [
{
"version": "< 1.25.1",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 6.2,
"baseSeverity": "MEDIUM",
"attackVector": "LOCAL",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 2.5,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-07T17:10:43.842050Z",
"id": "CVE-2026-71430",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-617"
}
]
}
],
"references": [
{
"url": "https://github.com/uhop/node-re2/security/advisories/GHSA-8hcv-x26h-mcgp",
"source": "[email protected]"
},
{
"url": "https://github.com/uhop/node-re2/security/advisories/GHSA-8hcv-x26h-mcgp",
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
}
]
}