🔍 CVE-2025-23165

3.7
CVSS Score
LOW
2025-05-19
2026-06-17 08:52
✅ 완료

🇰🇷 한글 설명

Node.js의 ReadFileUtf8 내부 바인딩에서 UTF-16 경로 버퍼가 파일 디스크립터 설정 시 손상된 포인터로 덮어씌워져 메모리 누수가 발생합니다. 반복된 사용으로 메모리 누수가 쌓여 메모리 고갈로 인한 서비스 거부(DoS)가 가능합니다.

💡 쉬운 설명

Node.js에서 파일을 읽을 때 사용된 메모리가 제대로 정리되지 않는 버그입니다. 계속 파일을 읽으면 메모리가 계속 줄어들어 결국 애플리케이션이 멈출 수 있습니다.

🇺🇸 원문 (English)

In Node.js, the `ReadFileUtf8` internal binding leaks memory due to a corrupted pointer in `uv_fs_s.file`: a UTF-16 path buffer is allocated but subsequently overwritten when the file descriptor is set. This results in an unrecoverable memory leak on every call. Repeated use can cause unbounded memory growth, leading to a denial of service. Impact: * This vulnerability affects APIs relying on `ReadFileUtf8` on Node.js release lines: v20 and v22.

📍 영향받는 시스템

Node.js v20.x.x, v22.x.x

⚔️ 공격 벡터

ReadFileUtf8 API를 사용하는 Node.js 애플리케이션에 반복적인 파일 읽기 요청을 통한 메모리 고갈

🛡️ 대응 방법

Node.js 공식 보안 권고에 따른 패치된 버전으로 즉시 업그레이드 (v20/v22의 최신 LTS 버전)

🔧 검증 코드

명령어가 v20 또는 v22를 출력하면 해당 버전의 최신 보안 패치 여부를 Node.js 공식 릴리스 노트에서 확인하세요.

Shell / Script
node --version | grep -E 'v(20|22)'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js