
T3 Code 61c3794c のサプライチェーン上の残存物。アップデータはアーカイブと同じオリジンから SHA256SUMS を検証する。署名なし。ループバックラボ。
アップデータはダウンロードの隣にある SHA-256 ファイルを検証する。ダウンロードホストを奪えば、チェックサムも奪える。その経路には署名が存在しない。偶発的な破損は依然として失敗する。同一オリジンからのすり替えられたペアはインストールされる。
クラス: サプライチェーン
到達範囲: サプライチェーン(releaseBaseUrl を制御する者)
T3 Code 61c3794c - Ping
| ID | CVE 未割当 |
| クラス | サプライチェーン |
| 到達範囲 | サプライチェーン(侵害されたリリースホスト、CDN、またはそのオリジン上の DNS/TLS) |
| CWE | CWE-345 / CWE-494 |
| CVSS | Medium: 6.8 CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| 製品 | T3 Code |
| 影響を受けるバージョン | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| 認証 | 発行者が掌握された後は被害者側に認証は不要。被害者はインストールまたは更新を実行する |
| ライセンス | GNU Affero GPL v3.0 |
| ラボ | ループバック発行者 127.0.0.1:18192、tar はモック化されアーカイブのバイト列は実行されない |
SHA256SUMS とアーカイブの両方を配信するオリジン(そのビルドの releaseBaseUrl / GitHub Releases)の制御が必要。被害者の T3 アカウントは不要。
| 権限 | メソッド / シンク | 偵察 / 完全性 / 可用性 | ラボ実証または推測 |
|---|---|---|---|
| 同一オリジンから一致するアーカイブ + チェックサムを公開 | ensurePinnedRuntimeInstalled が ${baseUrl}/SHA256SUMS を取得し、次に ${baseUrl}/${fileName} を取得、SHA-256 比較 | 完全性(インストールが受理される) | ラボ実証。checksum-pass=1、両ファイルに witness t3f02s9m4 |
| 同じヘルパー経由で自己更新 / ブートサービスを駆動 | selfUpdate.ts、bootService.ts が releaseBaseUrl を渡す | 完全性 | ソース。ラボはヘルパーを直接呼び出した |
| 展開後にインストールされたバイナリを実行 | tar -xf の後に t3 を実行 | 完全性 / 可用性 | 推測。ラボは tar をモック化しバイト列は実行しなかった |
| ネガティブコントロール: チェックサム不一致 | 同じヘルパー、SHA256SUMS にゼロ | 該当なし | ラボ実証。ステップ verifying the t3 release archive checksum |
この残存課題で塞がれたままの項目
| 軸 | メソッド / シンク | 塞がれている理由 |
|---|---|---|
| 完全性 | 転送中の偶発的なビット反転 | SHA-256 不一致で展開を拒否 |
| 完全性 | 署名のない追加オリジン | ラボは単一のベース URL を使用。2 つ目のオリジンは存在しないため参照されない |
| 完全性 | このラボが攻撃者のバイト列を実行すること | tar をモック化。extracted-binary-executed=0 |
ダウンロード+ダイジェストのブロック、および自己更新 / ブートサービスの呼び出し元において signature-check=0(minisign、cosign、GPG、sigstore のいずれもなし)。
pinnedRuntime.ts は cliReleaseDownloadBaseUrl から両方の URL を構築する。リポジトリ内のテストはすでに同一オリジンのチェックサム成功と不一致失敗を固定している。署名は要求していない。
誤った道: チェックサムを発行者の認証機構として扱うこと。
python3 t3code-release-checksum-same-origin-Abraxas-Labs.py
または:
cd lab
./run.sh
127.0.0.1:18192 上のループバック HTTP パブリッシャー。本番の ensurePinnedRuntimeInstalled はそのオリジンに対して Effect fetch を使用します。一致するペアはインストールされます(抽出はモック)。不一致のペアは検証で停止します。
IOC loopback-bound=127.0.0.1:18192
IOC same-origin=1
IOC checksum-pass=1
IOC checksum-fail=1
IOC signature-check=0
IOC tar-mocked=1
IOC extracted-binary-executed=0
SUCCESS T3-F02-CHECKSUM t3f02s9m4
チェックサムマニフェストに署名し(minisign、cosign、または GPG)、公開鍵をバイナリに埋め込みます。SHA256SUMS を解析する前に署名を検証します。リリースの取得元を不変の署名済み参照に固定します。
61c3794c32b0eeebfac09add43e403618c65d2d7pinnedRuntime.ts のダウンロード+ダイジェストGNU Affero GPL v3.0。LICENSE を参照してください。ループバックラボ専用です。保証はありません。
Abraxas Labs [email protected]
CVE のクレジットは Abraxas Labs にお願いします。