
Arbeitsfähiger Proof of Concept (PoC) für CVE-2025-55182 (React2Shell) – Nicht authentifizierte Remote-Codeausführung in Next.js 15.0.0 über React Server Components
⚠️ NUR FÜR BILDUNGSZWECKE
Dieses Repository wurde ausschließlich für Bildungs- und Forschungszwecke erstellt. Es demonstriert eine kritische Schwachstelle in React Server Components (Next.js), um Entwicklern zu helfen, die Risiken und die Bedeutung der Aktualisierung ihrer Abhängigkeiten zu verstehen.
VERWENDEN SIE DIESEN CODE NICHT IN PRODUKTIONSUMGebungen ODER GEGEN SYSTEME, DIE IHNEN NICHT GEHÖREN.
Dieses Projekt reproduziert CVE-2025-55182 (auch bekannt als „React2Shell"), eine Remote-Code-Ausführungs-Schwachstelle (RCE), die React Server Components in Next.js-Anwendungen betrifft.
multipart/form-data-Anfrage, die die Deserialisierungslogik von React Server Components ausnutzt, um beliebigen JavaScript-Code auf dem Server auszuführen.
app/page.js: Enthält das interaktive Exploit-Dashboard. Diese Client-Komponente ermöglicht es Ihnen, RCE-Befehle direkt aus dem Browser auszuführen.app/actions.js: Enthält eine Standard-Server-Action. Die Schwachstelle liegt in der Parsing-Logik des Frameworks, bevor diese Aktion ausgeführt wird.exploit.js: Ein eigenständiges Node.js-Skript, um den Exploit programmatisch zu demonstrieren.Repository klonen:
git clone https://github.com/pkrasulia/CVE-2025-55182-NextJS-RCE-PoC.git
cd react-cve-test
(Optional) Die richtige Node.js-Version verwenden:
nvm use
Abhängigkeiten installieren (dadurch werden die verwundbaren Versionen installiert):
npm ci --legacy-peer-deps
# ODER
npm install --force
Den Entwicklungsserver starten:
npm run dev
Der Server sollte unter http://localhost:3000 erreichbar sein.
http://localhost:3000 in Ihrem Browser.whoami, ls -la oder cat package.json).Sie können das Exploit-Skript direkt über Ihr Terminal ausführen:
# Grundlegende Verwendung
node exploit.js http://localhost:3000 "whoami"
# Rechner öffnen (Linux) – '&' verwenden, um im Hintergrund auszuführen
node exploit.js http://localhost:3000 "gnome-calculator &"
Um diese Schwachstelle in Ihren eigenen Projekten zu beheben:
npm install next@latest react@latest react-dom@latest
Der Autor ist nicht für jeglichen Missbrauch dieser Informationen verantwortlich. Dieses Projekt soll Sicherheitsforschern und Entwicklern helfen, die Sicherheit ihrer Anwendungen zu verbessern.