re2 предоставляет привязки Node.js для механизма регулярных выражений Google RE2. До версии 1.25.2 re2 проверяет LastIndex на соответствие байтовой длине объекта UTF-8, но использует его в качестве смещения кодовой единицы UTF-16 при выполнении, тестировании, сопоставлении, замене и разделении, позволяя находящемуся под влиянием злоумышленника LastIndex для субъекта, отличного от ASCII, инициировать чтение кучи за пределами границ и неуловимый сбой процесса с ограниченным раскрытием информации о куче в некоторых случаях. Эта проблема исправлена в версии 1.25.2.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1