🔍 CVE-2026-71430

6.2
CVSS Score
MEDIUM
2026-08-06
2026-10-24 15:10
✅ 완료

🇰🇷 한글 설명

node-re2 라이브러리의 WrappedRE2::Replace 함수에서 V8의 최대 문자열 길이를 초과할 경우 발생하는 예외 처리가 미흡한 취약점입니다. 전역 치환 시 출력 결과가 입력 크기에 따라 이차 함수적으로 증가할 수 있으며, 이 과정에서 최대 길이를 초과하면 프로세스가 예외를 던지지 못하고 즉시 강제 종료됩니다.

💡 쉬운 설명

특정한 규칙을 사용하여 글자를 바꿀 때, 결과물이 너무 커지면 프로그램이 오류를 알리지 못하고 갑자기 꺼져버리는 문제입니다. 공격자가 의도적으로 아주 긴 결과물을 만들게 유도하여 서비스를 중단시킬 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

node-re2 version 1.25.1 미만 버전

⚔️ 공격 벡터

출력 크기를 급격히 키우는 치환 템플릿을 포함한 정규표현식 패턴을 입력하여 프로세스 강제 종료 유도

🛡️ 대응 방법

node-re2 라이브러리를 1.25.1 이상의 최신 버전으로 업데이트

🔧 검증 코드

출력된 결과에서 node-re2의 버전이 1.25.1보다 낮은지 확인

Shell / Script
npm list node-re2

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Node.js