re2 provides Node.js bindings for Google's RE2 regular expression engine. Prior to 1.25.2, re2 validates lastIndex against the UTF-8 byte length of a subject but uses it as a UTF-16 code-unit offset in exec, test, match, replace, and split, allowing an attacker-influenced lastIndex on a non-ASCII subject to trigger an out-of-bounds heap read and an uncatchable process crash, with limited heap information disclosure in some cases. This issue is fixed in 1.25.2.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67550.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-67550.json"
[
{
"target": {
"file": "lib/addon.cc"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-0a0f1789",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"19954763611425228469672085074658184675",
"331223102158760803114548518017621148565",
"21178005610650149147415352411149296789",
"7378921011350341833558194162275409032",
"290279079977808400351583768780768332112",
"269468269521989833012457224550730551021",
"220180896078021945078450370740287910401",
"103995201755778946944515536033469841992",
"278962317521925690785428497897378501971"
]
},
"signature_type": "Line"
},
{
"target": {
"file": "lib/wrapped_re2.h"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-21b7f83e",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"286777046175991959749681714562635826353",
"284333959125627437408355067039355406210",
"138136472694523974163538307068126744663",
"58309900975234625435035040729388464271",
"195103648589300892684046158542830920177",
"235192085679803366481137419592942389587",
"253325453123777957106712514066521422225",
"158659996460091260129542475562417934961"
]
},
"signature_type": "Line"
},
{
"target": {
"function": "NAN_METHOD",
"file": "lib/match.cc"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-4164da59",
"signature_version": "v1",
"digest": {
"length": 5139.0,
"function_hash": "10197521596383413257890744694600849103"
},
"signature_type": "Function"
},
{
"target": {
"file": "lib/match.cc"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-81243e07",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"182960625232293462914228452845739904908",
"55403228862940301031241506940706599861",
"13714069744547344456967796048305494447",
"90550660272087329399460642966430912149"
]
},
"signature_type": "Line"
},
{
"target": {
"function": "getUtf16PositionByCounter",
"file": "lib/wrapped_re2.h"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-83ee55b7",
"signature_version": "v1",
"digest": {
"length": 226.0,
"function_hash": "236949699473391840458954684920799783324"
},
"signature_type": "Function"
},
{
"target": {
"function": "StrVal::setIndex",
"file": "lib/addon.cc"
},
"deprecated": false,
"source": "https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d",
"id": "CVE-2026-67550-c430ccf0",
"signature_version": "v1",
"digest": {
"length": 491.0,
"function_hash": "114005996720965299823923889009817447229"
},
"signature_type": "Function"
}
]
"2026-08-12T16:41:44Z"