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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
t3code-abspath-host-read — T3 Code 61c3794c のローカルパス残留。ペアリングされた filesystem:read クライアントは、絶対パスまたは ~/ パスでホストのファイルを開くことができます。書き込みはワークスペース内に留まります。ループバックラボ。 | Kitploit
ツール/GitHubGitHub/abraxas/t3code-abspath-host-read
脆弱性分析コード分析ウェブアプリケーション悪用ペネトレーションテストラボと実践
GitHubabraxas/t3code-abspath-host-read

t3code-abspath-host-read

T3 Code 61c3794c のローカルパス残留。ペアリングされた filesystem:read クライアントは、絶対パスまたは ~/ パスでホストのファイルを開くことができます。書き込みはワークスペース内に留まります。ループバックラボ。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - t3code-abspath-host-read

t3code-abspath-host-read

T3 Code にスマートフォンや別のマシンをペアリングすると、プロジェクトファイルを開けるようになります。その同じ許可が、あなたの SSH キーを開けてしまいます。ファイル読み取り API は絶対パスまたは ~/ パスを受け付け、書き込みが今も守っているワークスペースの境界を回避します。相対パスの ../ は引き続きブロックされます。読み取り専用の MCP エージェントにはこの許可は与えられません。

クラス: パスの取り残し 到達範囲: ローカル(ペアリング済みの filesystem:read。オーナーがそのスコープを付与していれば、ペアリング済みのスマートフォンやブラウザからも可能)

T3 Code 61c3794c - Ping

IDCVE 未割当
クラスパスの取り残し
到達範囲ローカル(filesystem:read を持つペアリング済みクライアント)
CWECWE-22 / CWE-73
CVSSMedium: 6.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
製品T3 Code
影響を受けるバージョン61c3794c32b0eeebfac09add43e403618c65d2d7(v0.1.6 以降)
認証filesystem:read を持つペアリング済みまたは標準付与のセッション
ライセンスGNU Affero GPL v3.0
ラボWorkspaceFileSystem に対するループバック Vitest。本番ホストは不使用

攻撃者ができること

すでに filesystem:read を保持する資格情報が必要です。デフォルトのペアリングにはこのスコープが含まれ、terminal:operate も含まれます。ゲスト共有はこの RPC に到達しません。MCP の読み取り専用は orchestration:read のみです。

権限メソッド / シンク偵察 / 完全性 / 可用性ラボで実証済みか推測か
絶対パスでホストファイルを読み取るWorkspaceFileSystem.readFile / RPC projectsReadFile で relativePath に絶対パスを設定偵察(ホストファイル)ラボで実証済み。証拠 t3f01w8k2 が返却された
~/ でホストファイルを読み取る同じシンクで relativePath にラボの HOME 配下の ~/.lab-secret を設定偵察ラボで実証済み。同じ証拠
絶対メディアパスに対する署名付きアセット URL を発行するassetsCreateUrl media-file偵察ソースから推測。このラボのオラクルではない
ネガティブコントロール: 相対 ../ワークスペース外へ抜けるパスを指定した readFile該当なしラボで実証済み。WorkspacePathOutsideRootError
ネガティブコントロール: 絶対パスへの書き込み同じ絶対シークレットパスを指定した writeFile該当なしラボで実証済み。拒否され、シークレットは不変
ネガティブコントロール: MCP 読み取り専用mcpClientScopes("read-only") 対 projectsReadFile該当なしラボで実証済み。拒否された

この取り残しでも塞がれたままの項目

軸メソッド / シンク塞がれている理由
完全性絶対パスによるワークスペースへの書き込みresolveWriteTarget が実際のルート内に限定し、.git を拒否する
偵察相対 ../ の読み取りresolveRelativePathWithinRoot
偵察T3 の secretsDir と stateDir/*.sqliteisServerInternalPath
偵察ゲスト共有 HTTPゲストトークンは SessionStore に入らない
偵察MCP 読み取り専用 /mcpfilesystem:read がない
完全性未認証のループバック RPCEnvironmentAuthPolicy が unsafe-no-auth ではない

製品ドキュメント(docs/internals/environment-auth.md)は filesystem:read をホスト読み取りの付与として説明しています。UI は依然としてワークスペース相対パスを送信します。サーバーは、正規のクライアントが生成しない入力を受け入れます。標準のペアリングにはシェルも含まれます。

発見の経緯

pingdotgg/t3code 61c3794c を固定しました。resolveReadTarget は ~/ を展開し、絶対パスを realpath 化して、isInsideRealRoot を一切行わずに返します。書き込みはそのチェックを行います。公開 issue #316 は書き込みにおける制約のない cwd のみをクローズしました。

回り道: MCP 読み取り専用を projectsReadFile の呼び出し元とみなした(実際は違う)。これを未認証の取り残しとみなした(実際はペアリング済みの付与である)。

ラボ

python3 t3code-abspath-host-read-Abraxas-Labs.py

または:

cd lab
./run.sh

pingdotgg/t3code を 61c3794c で lab/src にクローンし、pnpm でインストールし、lab-home/.lab-secret の下にウィットネスを配置して、Vitest を実行します。ループバックのみ。Node 26 と pnpm 12。

IOC abs-read=1
IOC home-read=1
IOC rel-escape=0
IOC write-abs=refused
IOC mcp-readonly-filesystem=denied
IOC secret-unchanged=1
SUCCESS T3-F01-ABSPATH t3f01w8k2

修正

realpath の後、resolveWriteTarget が既に行っているのと同じ方法で、ターゲットが realpath(cwd) の内側にあることを要求する。読み取りとメタデータで knownWorkspaces.assertContains(input.cwd) を呼び出す。プロジェクトのない絶対パスに対して media-file URL を発行するのをやめる。isServerInternalPath を stateDir 全体に広げる。

参考資料

  • github.com/pingdotgg/t3code 61c3794c32b0eeebfac09add43e403618c65d2d7
  • WorkspaceFileSystem.resolveReadTarget
  • CWE-22 · CWE-73

ライセンス

GNU Affero GPL v3.0。LICENSE を参照。ループバックラボ専用。保証なし。

Abraxas Labs [email protected]

CVE のクレジットは Abraxas Labs にお願いします。

ツールをダウンロード