🇰🇷 한글 설명
Windows 기반 서버에서 실행되는 Next.js 애플리케이션이 경로 세그먼트의 백슬래시를 일관되게 이스케이프하지 못하는 취약점입니다. 공격자가 인코딩된 경로 구분자를 사용하여 캐시 루트 외부의 파일에 접근할 수 있으며, 이를 통해 서버 암호화 키를 탈취하여 원격 코드 실행(RCE)으로 이어질 수 있습니다.
💡 쉬운 설명
웹사이트의 주소창에 특수 문자를 입력하여 서버의 허가되지 않은 비밀 파일에 접근할 수 있는 보안 구멍입니다. 이 구멍을 통해 해커가 서버의 중요한 열쇠를 훔쳐가면 컴퓨터를 마음대로 조종할 수 있습니다.
🇺🇸 원문 (English)
Next.js is a React framework for building full-stack web applications. From 13.4.0 until 15.5.24 and 16.3.3, Next.js applications using Pages Router or App Router without Cache Components on Windows-hosted servers do not consistently escape backslashes in route segments before constructing incremental-cache paths. In packages/next/src/shared/lib/router/utils/escape-path-delimiters.ts and packages/next/src/server/lib/incremental-cache/file-system-cache.ts, a remote request can supply encoded Windows path separators that traverse outside the intended cache root and expose private build data, including the server-reference-manifest encryption key. Disclosure of that key can enable remote code execution in the affected application. This issue is fixed in versions 15.5.24 and 16.3.3.
📍 영향받는 시스템
Next.js 13.4.0 ~ 15.5.24 및 16.3.3 (Windows 호스트 환경)
⚔️ 공격 벡터
인코딩된 Windows 경로 구분자를 포함한 원격 요청을 통한 경로 탐색(Path Traversal)
🛡️ 대응 방법
Next.js를 버전 15.5.24 또는 16.3.3 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Next.js 버전을 확인하여 취약한 버전 범위(13.4.0~15.5.24 또는 16.3.3)에 해당하는지 확인합니다.
npm list next | grep next
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server