🇰🇷 한글 설명
Node.js Permission Model의 파일시스템 접근 통제에서 fs.realpathSync() 호출 시 필요한 읽기 권한 검사가 누락되어 있습니다. 이는 CVE-2026-21715의 불완전한 수정으로, 해당 패치는 fs.realpathSync.native()만 보호했습니다. --permission 및 --allow-fs-read로 제한된 프로세스도 허용되지 않은 경로의 존재 여부와 심볼릭 링크 대상을 확인할 수 있습니다.
💡 쉬운 설명
Node.js의 파일 접근 제한 기능에 허점이 있어, 접근이 막혀 있어야 할 폴더의 파일 존재 여부를 간접적으로 알아낼 수 있습니다. 실제 파일 내용을 읽지는 못하지만 경로 정보가 노출될 수 있습니다.
🇺🇸 원문 (English)
A flaw in Node.js Permission Model filesystem enforcement leaves `fs.realpathSync()` without the required read permission checks. This is an incomplete fix of CVE-2026-21715, which only covered `fs.realpathSync.native()`.
As a result, code running under `--permission` with restricted `--allow-fs-read` can still use `fs.realpathSync()` to check file existence, resolve symlink targets, and enumerate filesystem paths outside of permitted directories.
This vulnerability affects Node.js **26.x**, **24.x**, and **22.x**.
📍 영향받는 시스템
Node.js 26.x, 24.x, 22.x (Permission Model을 사용하는 환경)
⚔️ 공격 벡터
권한 제한된 Node.js 프로세스 내 코드가 fs.realpathSync()로 허용되지 않은 경로의 존재 여부와 심볼릭 링크 대상을 열거
🛡️ 대응 방법
Node.js를 해당 버전의 보안 패치 릴리스로 업데이트하고, 임시로 Permission Model 의존 구성을 재검토
🔧 검증 코드
출력된 버전이 26.x, 24.x, 22.x의 패치된 최신 버전보다 낮으면 취약하며, 보안 패치 버전 이상이면 수정된 것입니다.