{"id":"CVE-2026-67550","summary":"re2: Out-of-bounds heap read in `exec`/`test`/`match` via attacker-influenced `lastIndex` on a non-ASCII subject → uncatchable process crash (DoS)","details":"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.","aliases":["GHSA-ff84-5f28-78qj"],"modified":"2026-09-12T08:07:28.033868Z","published":"2026-07-30T19:59:55.916Z","database_specific":{"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"},"references":[{"type":"WEB","url":"https://github.com/uhop/node-re2/releases/tag/1.25.2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67550.json"},{"type":"ADVISORY","url":"https://github.com/uhop/node-re2/security/advisories/GHSA-ff84-5f28-78qj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-67550"},{"type":"FIX","url":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/uhop/node-re2","events":[{"introduced":"0"},{"fixed":"56293de4fc0914d7bc35f92e98de25b0d9bb417d"},{"fixed":"264378394ec80e1cca2188ecb496829da2eec6c8"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.25.2"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["1.25.1","1.25.0","1.24.1","1.24.0","1.23.3","1.23.2","1.23.1","1.23.0","1.22.3","1.22.2","1.22.1","1.22.0","1.21.5","1.21.4","1.21.3","1.21.2","1.21.1","1.21.0","1.20.12","1.20.11","1.20.10","1.20.9","1.20.8","1.20.7","1.20.6","1.20.5","1.20.4","1.20.3","1.20.2","1.20.1","1.20.0","1.19.2","1.19.1","1.19.0","1.18.3","1.18.2","1.18.1","1.18.0","1.17.8","1.17.7","1.17.6","1.17.5","1.17.4","1.17.3","1.17.2","1.17.1","1.17.0","1.16.0","1.15.9","1.15.8","1.15.7","1.15.6","1.15.5","1.15.4","1.15.3","1.15.2","1.15.1","1.15.0","1.14.0","1.13.0","1.12.1","1.12.0","1.11.0","1.10.5","1.10.4","1.10.3","1.10.2","1.10.1","1.10.0","1.9.0","1.8.4","1.8.3","1.8.2","1.8.1","1.8.0","1.7.0","1.6.2","1.6.1","1.6.0","1.5.0","1.4.1","1.4.0","1.3.3","1.3.2","1.3.1","1.3.0","1.2.0","1.1.1","1.1.0","1.0.0","0.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-67550.json","vanir_signatures_modified":"2026-09-12T08:07:28Z","vanir_signatures":[{"deprecated":false,"digest":{"line_hashes":["19954763611425228469672085074658184675","331223102158760803114548518017621148565","21178005610650149147415352411149296789","7378921011350341833558194162275409032","290279079977808400351583768780768332112","269468269521989833012457224550730551021","220180896078021945078450370740287910401","103995201755778946944515536033469841992","278962317521925690785428497897378501971"],"threshold":0.9},"id":"CVE-2026-67550-0a0f1789","signature_type":"Line","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d","target":{"file":"lib/addon.cc"}},{"deprecated":false,"digest":{"line_hashes":["286777046175991959749681714562635826353","284333959125627437408355067039355406210","138136472694523974163538307068126744663","58309900975234625435035040729388464271","195103648589300892684046158542830920177","235192085679803366481137419592942389587","253325453123777957106712514066521422225","158659996460091260129542475562417934961"],"threshold":0.9},"id":"CVE-2026-67550-21b7f83e","signature_type":"Line","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d","target":{"file":"lib/wrapped_re2.h"}},{"target":{"file":"lib/match.cc","function":"NAN_METHOD"},"deprecated":false,"digest":{"function_hash":"10197521596383413257890744694600849103","length":5139},"id":"CVE-2026-67550-4164da59","signature_type":"Function","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d"},{"target":{"file":"lib/match.cc"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["182960625232293462914228452845739904908","55403228862940301031241506940706599861","13714069744547344456967796048305494447","90550660272087329399460642966430912149"]},"id":"CVE-2026-67550-81243e07","signature_type":"Line","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d"},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d","target":{"file":"lib/wrapped_re2.h","function":"getUtf16PositionByCounter"},"deprecated":false,"digest":{"length":226,"function_hash":"236949699473391840458954684920799783324"},"id":"CVE-2026-67550-83ee55b7"},{"signature_type":"Function","signature_version":"v1","source":"https://github.com/uhop/node-re2/commit/56293de4fc0914d7bc35f92e98de25b0d9bb417d","target":{"file":"lib/addon.cc","function":"StrVal::setIndex"},"deprecated":false,"digest":{"function_hash":"114005996720965299823923889009817447229","length":491},"id":"CVE-2026-67550-c430ccf0"}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:H"}]}