Защитная диагностика node-re2 replace: preflight длины результата по GHSA-8hcv-x26h-mcgp: runtime inventory, bounded fixture, измеримый verdict, красная линия и evidence bundle без production-данных.
Решение в двух шагах — node-re2 replace: preflight длины результата
Сначала подтвердите, что runtime действительно использует re2 в диапазоне «npm:re2 <= 1.25.0; first patched 1.25.1» и что функция «node-re2 replace: preflight длины результата» включена. Затем выполните только bounded fixture: Передать helper малые synthetic match counts и replacement lengths; V8 allocation заменить counter, тяжёлый regex не запускать. Боль, которую проверяет эта страница: большой логический результат может привести к uncatchable abort процесса. Выходной артефакт — subject length / replacement expansion / predicted output / call state / verdict. GHSA GHSA-8hcv-x26h-mcgp не заменяет inventory и не доказывает уязвимость конкретной системы.
Карта границы — node-re2 replace: preflight длины результата
Нарисуйте последовательность Source → Normalize → Authorize/Validate → Side effect. Для «node-re2 replace: preflight длины результата» особая карта такова: Матрица включает no-match, short expansion, exact cap и cap+1 на маленьких числах. Arithmetic выполняется в widened type, а отказ возвращает catchable error до ToLocalChecked. На каждой стрелке укажите тип данных, владельца решения и измеримый counter. Если две стадии видят разные представления одной строки или объекта, итог UNKNOWN до устранения неоднозначности.
Подготовка без production-данных — node-re2 replace: preflight длины результата
Создайте temp directory, in-memory graph/cache/store либо pure adapter, соответствующий протоколу: Передать helper малые synthetic match counts и replacement lengths; V8 allocation заменить counter, тяжёлый regex не запускать. Используются только короткие canary labels; IP, токены, customer records, реальные пути и environment values запрещены. Network, shell, database, filesystem и session issuance заменяются spies. Зафиксируйте hash fixture и нулевые counters до control.
Control и boundary-case — node-re2 replace: preflight длины результата
Control подтверждает достижимость ветки на разрешённом входе. Boundary-case меняет ровно один параметр и должен остановиться до состояния «большой логический результат может привести к uncatchable abort процесса». Запишите subject length / replacement expansion / predicted output / call state / verdict, reason code и monotonic duration. Матрица включает no-match, short expansion, exact cap и cap+1 на маленьких числах. Arithmetic выполняется в widened type, а отказ возвращает catchable error до ToLocalChecked. Не повышайте размер/глубину после первого превышения, не используйте эксплуатационный payload и не сравнивайте разные ОС как доказательство исправления.
Таблица verdict — node-re2 replace: preflight длины результата
PASS: применимый runtime подтверждён, control прошёл, boundary остановился до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемое запрещённое состояние. UNKNOWN: отсутствуют версия, configuration snapshot, control, counter или cleanup. NOT_APPLICABLE: package либо entry point доказанно отсутствует. Версия вне диапазона без runtime readback остаётся только inventory clue.
Красная линия — node-re2 replace: preflight длины результата
Стоп-условие: predicted size overflow/over-cap, но allocation path продолжается. После остановки не повторяйте тест с большим вводом. Верните disposable state к hash, обнулите spies, освободите buffers/objects и выполните один benign control. Несовпадение state после cleanup блокирует PASS и должно войти в handoff как отдельный дефект harness или компонента.
Самостоятельная польза — node-re2 replace: preflight длины результата
Даёт checked-arithmetic preflight без создания большой строки. Не regex backtracking: проблема post-match output size. Практический результат не сводится к названию CVE: читатель получает subject length / replacement expansion / predicted output / call state / verdict. Матрица включает no-match, short expansion, exact cap и cap+1 на маленьких числах. Arithmetic выполняется в widened type, а отказ возвращает catchable error до ToLocalChecked. Механическая замена framework, устройства или платформы не создаёт новый intent; совпадающая старая страница становится update/merge-кандидатом.
Минимальный handoff — node-re2 replace: preflight длины результата
Передайте GHSA GHSA-8hcv-x26h-mcgp, runtime digest, диапазон «npm:re2 <= 1.25.0; first patched 1.25.1», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-06, обновлён 2026-08-06; это дата advisory, а не показатель спроса или эксплуатации. После remediation повторите тот же fixture и сравните границу/side-effect counters.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-8hcv-x26h-mcgp проверено 2026-09-02
- Первичный upstream — re2 проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.