Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
element-vector-drive-letter — Element Desktop v1.12.29 - 高 - ローカル - ファイル - ベクター: プロトコルが asar ジェイル外の Windows ファイルを読み取る | Kitploit
ツール/GitHubGitHub/abraxas/element-vector-drive-letter
脆弱性分析エクスプロイトウェブアプリケーション悪用セキュリティ仮想化ペネトレーションテストラボと実践
GitHubabraxas/element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - 高 - ローカル - ファイル - ベクター: プロトコルが asar ジェイル外の Windows ファイルを読み取る

リポジトリを見る
3日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - element-vector-drive-letter

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - Element Creations Ltd

分類: ファイル読み取り 到達範囲: ローカル

apps/desktop/src/electron-main.ts は vector: を特権ファイルプロトコルとして登録している。ジェイルは path.normalize(path.join(...pathname.split("/").slice(2))) の後の relTarget.startsWith("..") のみである。Windows では C:、Windows、win.ini の join はすでに C:\Windows\win.ini となる。絶対パスは .. で始まらないため、このチェックを通過してしまう。Electron 自身のカスタムプロトコルの注意書きも path.isAbsolute を拒否している。POSIX の path.join は C: を絶対パスとして扱わないため、Linux と macOS はこの残存バグの対象ではない。will-navigate は vector: を通過させる。

レンダラー XSS、DevTools、または別のローカルプロセスが fetch("vector://vector/webapp/C:/Windows/win.ini") を実行し、Element プロセスが開けるファイルを読み取ることができる。

IDCVE 未割当
CWECWE-22 / CWE-73
CVSSHigh: 8.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
製品element-web Desktop (apps/desktop)
影響を受けるバージョンv1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e)。Windows のみ。
認証ローカルレンダラー (DevTools / XSS)
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

レンダラー XSS、DevTools、または vector: に到達できる別のローカルプロセス。ネイティブ Windows の Element Desktop は実行していない。ガジェットはピンの URL パーサーをコピーし、Node の path.win32 を使用している。

権限メソッド / シンク偵察 / 完全性 / 可用性ラボで実証済みか推測か
Element プロセスが開けるファイルを読み取るfetch("vector://vector/webapp/C:/Windows/win.ini")。ジェイルは relTarget.startsWith("..") のみ。ドライブレターの join は絶対パスになるため、チェックを通過する。path.win32.resolve(asar, relTarget) は C:\Windows\win.ini となる偵察URL パーサーガジェットでラボ実証済み。ボディは ELEMENT-VECTOR-DRIVE-LETTER-WITNESS。ネイティブ Desktop は未実行
同じ ACL 上の electron-config、プロファイル、他ユーザーのファイルの同様の読み取り同じ vector://vector/webapp/C:/... フェッチ偵察推測。ラボでは win.ini を設置したのみで、実際のシークレットではない
メインフレームがディスク上に既にある攻撃者 HTML を読み込んだ場合の Matrix ATOwill-navigate は vector: を通過させる。vector://vector 上の敵対的 HTML が preload / window.electron (トークン、Seshat、clearStorage) を取得する完全性webcontents-handler.ts と preload からの推測。ラボでは BrowserWindow をナビゲートしていない
asar ツリーの ../ トラバーサルvector://vector/webapp/../n/aここではクローズ。WHATWG URL がこれを折りたたみ、ハンドラーは FILE_NOT_FOUND (-6) を返す
POSIX / macOS / Linux のドライブレターフェッチpath.posix.join は C:/Windows/win.ini を asar 配下に残すn/aここではクローズ。ガジェットの posix は 404、witness なし
OS RCE / LPEnodeIntegration: false、app.enableSandbox()n/aクローズ。この残存バグではない

同じピンの残存バグ: fragment guest wipe、Univention ICS javascript: href。

発見方法

2026年9月22日の GitHub リリース後、element-hq/element-web v1.12.29 をピン留めした。Timeline XSS、HTML エクスポート XSS (GHSA-wqmv)、ホームページ HTML (GHSA-wrcp)、ウィジェットメディアトークン (GHSA-3jm3)、Element Call キー (GHSA-69q3) はこのタグではクローズされている。Desktop のカスタムプロトコルは依然として startsWith("..") のみをチェックしている。

new URL("vector://vector/webapp/C:/Windows/win.ini") は C: をパスセグメントとして保持する。path.win32.join("C:", "Windows", "win.ini") は C:\Windows\win.ini となる。Node の path.win32.join(asar, abs) は連結し、path.win32.resolve は asar ルートを破棄する。

すでに記録済みの誤った方向性: ../ を残存バグとみなすこと (WHATWG が折りたたみ、ハンドラーは 404 を返す)、POSIX の C: を同じバグと呼ぶこと (posix join は asar 配下に留まる)、ファイル読み取りを OS RCE に誇張すること (サンドボックスと nodeIntegration: false は有効のまま)。リバースシェル。芝居である。

ラボ

URL パーサーのガジェット。Node の path.win32 対 path.posix。Windows の Element Desktop プロセスはなし。設置された /lab/oracle/win.ini が C:\Windows\win.ini の代役を務める。/lab/asar/index.html が asar ジェイルである。

python3 element-vector-drive-letter-Abraxas-Labs.py

または

cd lab
./run.sh

ターゲットは http://127.0.0.1:19610 のみ。Compose プロジェクト element-vector-drive-letter。実行後にスタックは破棄される。

SUCCESS element-vector-drive-letter how=gadget win32-drive-letter=200 posix-drive-letter=404 control-dotdot=404 patched-isabs=404 ELEMENT-VECTOR-DRIVE-LETTER-WITNESS

修正

normalize 後に path.isAbsolute(relTarget) を拒否し、path.resolve(baseDir, relTarget) が path.resolve(baseDir) 配下に留まることを要求する (path.relative、.. を拒否)。

参考文献

  • github.com/element-hq/element-web タグ v1.12.29
  • electron-main.ts (registerFileProtocol)
  • webcontents-handler.ts (will-navigate)
  • 近隣のパッチ済み (このジェイルではない): GHSA-wqmv · GHSA-wrcp
  • 同じピン: element-fragment-guest · element-ics-javascript
  • CWE-22

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボのみ。無保証。

ツールをダウンロード