Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-55182 | Kitploit
Tools/GitHubGitHub/klassiker/cve-2025-55182
Statische AnalyseSchwachstellenanalyseCode-AnalyseWebsicherheitPapers & ForschungLernen & Bildung
GitHubklassiker/cve-2025-55182

CVE-2025-55182

Repository anzeigen
vor 8 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

Verwundbare Anwendung

Build und Start:

root@kitploit:~
docker compose build
docker compose run --rm --entrypoint 'npm install' node
docker compose run --rm --entrypoint 'npm run build' node
docker compose up

POC (von https://github.com/msanft/CVE-2025-55182):

root@kitploit:~
node poc.js

Experimentieren mit unbundled:

root@kitploit:~
yarn --immutable

node --conditions react-server app.js

CodeQL

Klone facebook/react und erstelle unbundled:

root@kitploit:~
yarn --immutable

yarn cross-env RELEASE_CHANNEL=experimental node ./scripts/rollup/build.js react-server-dom-webpack/ --type=NODE_DEV

cp ./build/node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js \
    codeql/${version}/

CodeQL vorbereiten:

root@kitploit:~
codeql database create db -l javascript -s codeql

cd queries && codeql pack install

codeql query run ./queries/PrototypeTraversal.ql -d db

TODO

  • Eine Abfrage hinzufügen, um Promise.resolve(userData) zu finden
    • sollte alle asynchronen Funktionen finden, die mit einem benutzerdefinierten Objekt aufgelöst werden
    • dies ist die unmittelbare Stelle der Codeausführungsprobleme
  • Eine Abfrage hinzufügen, um await non-native-promise zu finden
    • sollte alle await-Aufrufe von Funktionen finden, die kein natives Promise zurückgeben
    • ein Aufrufer könnte fälschlicherweise await auf eine Methode anwenden, die (manchmal) Rohdaten zurückgibt

Ergebnisse

Es hat die gepatchte Verwendung in getOutlinedModel (hinzugefügt hasOwnProperty.call) und die entfernte in createModelResolver (jetzt fulfillReference) erkannt.

Ich weiß nicht, warum die erste und die zweite auf dieselbe Stelle zeigen, die extrahierte in vuln.js jedoch nicht.

Beispiele

In codeql/tests.js gibt es diese drei Varianten:

root@kitploit:~
var value = {};
for (let i = 0; i < path.length; i++) {
  value = value[path[i]] // VarAccess
}

var value = {};
for (let i = 0; i < path.length; i++) {
  let c = value[path[i]] // VarDecl
  value = c
}

var value = {};
for (let i = 0; i < path.length; i++) {
  let c
  c = value[path[i]] // use VarRef
  value = c
}

Referenz: https://codeql.github.com/docs/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-javascript-and-typescript-programs/

Tool herunterladen
filenamesourcesink
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsparentObject[reference[key]]parentObject[reference[key]]Unsichere Prototyp-Traversierung: Variable 'parentObject' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsparentObject[reference[key]]parentObject[reference[key]]Unsichere Prototyp-Traversierung: Variable 'parentObject' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsvalue[path[i]]value[path[i]]Unsichere Prototyp-Traversierung: Variable 'value' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./tests.jsvalue[path[i]]cUnsichere Prototyp-Traversierung: Variable 'value' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./tests.jsvalue[path[i]]cUnsichere Prototyp-Traversierung: Variable 'value' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./tests.jsvalue[path[i]]value[path[i]]Unsichere Prototyp-Traversierung: Variable 'value' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./vuln.jsparentObject[reference[key]]parentObject[reference[key]]Unsichere Prototyp-Traversierung: Variable 'parentObject' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.
./vuln.jsvalue[path[i]]value[path[i]]Unsichere Prototyp-Traversierung: Variable 'value' wird innerhalb einer Schleife mit ihrer eigenen Eigenschaft aktualisiert.