🔍 CVE-2026-21715

3.3
CVSS Score
LOW
2026-03-30
2026-08-19 13:32
✅ 완료

🇰🇷 한글 설명

Node.js 권한 모델의 파일 시스템 강제 적용 과정에서 결함이 발견되었습니다. --allow-fs-read 권한이 제한된 상태에서도 fs.realpathSync.native() 함수를 통해 허용되지 않은 디렉토리의 파일 존재 여부를 확인하거나 경로를 열거할 수 있습니다.

💡 쉬운 설명

Node.js에서 특정 폴더만 보게끔 제한을 걸어두었지만, 특정 함수를 사용하면 제한된 구역 밖의 파일 이름이나 경로를 몰래 알아낼 수 있는 보안 허점입니다. 이는 공격자가 시스템의 구조를 파악하는 데 악용될 수 있습니다.

🇺🇸 원문 (English)

A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync.native()` without the required read permission checks, while all comparable filesystem functions correctly enforce them. As a result, code running under `--permission` with restricted `--allow-fs-read` can still use `fs.realpathSync.native()` to check file existence, resolve symlink targets, and enumerate filesystem paths outside of permitted directories. This vulnerability affects **20.x, 22.x, 24.x, and 25.x** processes using the Permission Model where `--allow-fs-read` is intentionally restricted.

📍 영향받는 시스템

Node.js 20.x, 22.x, 24.x, 25.x (Permission Model 사용 시)

⚔️ 공격 벡터

제한된 권한 내에서 fs.realpathSync.native() 함수를 호출하여 허용되지 않은 경로의 정보를 탐색

🛡️ 대응 방법

Node.js를 최신 보안 패치가 적용된 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 20, 22, 24, 25 중 하나라면 해당 취약점에 노출되었을 가능성이 있습니다.

Shell / Script
node -v | grep -E 'v(20|22|24|25)\.'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js