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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vfs-quote-breakout — VFS for Git ab95cf51 - 高 - リモート - RCE - core.virtualfilesystem シングルクォートラップ | Kitploit
ツール/GitHubGitHub/abraxas/vfs-quote-breakout
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロール論文と研究ペイロード開発
GitHubabraxas/vfs-quote-breakout

vfs-quote-breakout

VFS for Git ab95cf51 - 高 - リモート - RCE - core.virtualfilesystem シングルクォートラップ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - vfs-quote-breakout

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vfs-quote-breakout

vfs-quote-breakout

クラス: RCE 到達範囲: リモート

VFS for Git master ab95cf51 (タグ v2.0.26259.1) - Microsoft

CloneVerb.GetCloneRoot は URL の最後のパスセグメントをデフォルトのエンリストメントフォルダとして使用し、引用符を除去しない。RequiredGitConfig はその後、core.virtualfilesystem を単純なシングルクォートで囲んだフックパスとして書き込む。microsoft/git はその値を use_shell=1 で実行する。製品のコメントには bash と明記されている。

最後のセグメントが pwn';witness;' であるクローン URL は 'C:/temp/pwn';witness;'/src/.git/hooks/GVFS.VirtualFileSystemHook.exe' になる。bash はこれを 3 つのコマンドとして解釈する。中央のコマンドはクローンを実行したユーザーとして実行される。

IDCVE 未割当
クラスRCE (core.virtualfilesystem のシングルクォートラップ)
到達範囲リモート (UI:R 攻撃者 URL のクローン、または細工されたディレクトリ配下でのローカル git worktree add)
CWECWE-78, CWE-116
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
製品VFS for Git (microsoft/git が必要)
影響master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (タグ v2.0.26259.1)。Windows のみ。
認証被害者が攻撃者 URL をクローン (または細工されたディレクトリ配下で git worktree add)
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ。how=gadget (Windows VM / ライブ ProjFS なし)。

攻撃者ができること

クローンまたは git を実行したユーザーとしてホストコードを実行する。SYSTEM ではない。「被害者がこの URL をクローンする」を省略した未認証 RCE でもない。

権限メソッド / シンク得られるもの偵察 / 完全性 / 可用性ラボ実証または推測
エンリストメントフォルダ名の選択宛先なしの gvfs clone <url> の最後のパスセグメント (CloneVerb.GetCloneRoot)ディレクトリ名は攻撃者が選択。Windows は ' と ; を許可宛先パスの完全性コピーされた宛先ヘルパーでラボ実証済み。URL .../pwn';witness;' は C:\temp\pwn';witness;' になる
core.virtualfilesystem からの脱出RequiredGitConfig のラップ "'" + ConvertPathToGitFormat(hook) + "'"設定値は 1 つのパスではなく 3 つのシェルトークンgit 設定の完全性ラボ実証済み。ラップは 'C:/temp/pwn';witness;'/src/.git/hooks/GVFS.VirtualFileSystemHook.exe'
クローン実行者として追加のシェルコマンドを実行microsoft/git virtualfilesystem.c use_shell=1 (設定値の bash -c)クローン実行者 UID としての任意のホストコマンドクローン実行者セッションの完全性 / 可用性ガジェットでラボ実証済み。witness が VFS-VFS-QUOTE-WITNESS を書き込んだ。第 1 と第 3 のトークンは存在しないパス (rc 127)
worktree での同じラップProgram.Worktree.cs -c core.virtualfilesystem="'<path>'"クローン URL なしで同じ脱出完全性ピンソースから推測。未実行
後の git status / マウントでの再実行InProcessMount.TrySetRequiredGitConfigSettings がラップを再適用後の git も敵対的な値をシェル実行完全性推測。未実行

この残存物で未解決: ライブ ProjFS / Microsoft git / gvfs clone (このホストは macOS。how=gadget)。SYSTEM。「被害者がこの URL をクローンする」を省略した未認証 RCE。名前に ' を含まない宛先、および同じ敵対的パスを '\'' でラップした場合は witness を実行しない。

同じピンの残存物: vfs-mount-dehydrate, vfs-clone-acl, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd。

発見方法

2026-09-28 のマージ後に VFS for Git master ab95cf51 をピン留めした。Microsoft は新規デプロイに Scalar を推奨している。ツリーには依然として v2.0.26259.1 タグが付いている。スキップリストは CVE-2021-47874 (このピンでのクォートされた binPath)。10 回の探索。ProjFS ハイドレーション、GPRE パーサー、キャッシュ URL、FastFetch、gvfs upgrade はこの基準では空だった。

そこで RequiredGitConfig に着目した。コメントには bash が記載されている。ラップは ' をエスケープしない。CloneVerb は URL の最後のセグメントを宛先として使用する。これが残存物である。

すでに記録済みの誤った方向: 引用符を含まない宛先をバグとして扱うこと (そうではない)、SYSTEM の主張、リバースシェル。すべて見せかけ。ネイティブ Windows がなかったため、ラボはそのラップと bash -c のガジェットである。

ラボ

python3 vfs-quote-breakout-Abraxas-Labs.py

または

cd lab
./run.sh

ガジェット HTTP は 127.0.0.1:19630。ラップと宛先ヘルパーをコピーし、PATH をオラクルを書き込む witness ヘルパーに限定して /bin/bash -c を実行する。ネイティブ Windows VM は利用できなかった。最終行は how=gadget を使用。

SUCCESS vfs-quote-breakout how=gadget who=cloner naive-breakout=yes escaped-hold=yes VFS-VFS-QUOTE-WITNESS

修正

ラップする前に ' を '\'' としてエスケープするか、use_shell の使用をやめてフックを argv[0] として渡す。' を含むクローンおよび worktree パスを拒否する。

参考資料

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (タグ v2.0.26259.1)
  • CloneVerb.cs のデフォルト宛先
  • RequiredGitConfig.cs の ' をエスケープしないラップ
  • microsoft/git virtualfilesystem.c use_shell=1
  • 近傍で修正済み (このラップではない): CVE-2021-47874 クォートされていない ImagePath
  • CWE-78 · CWE-116

ライセンス

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

ツールをダウンロード