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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-105221-gist-tls — CVE-2026-105221 - gist RubyGem - 高 - MITM - GitHub OAuthトークン窃取 | Kitploit
ツール/GitHubGitHub/abraxas/cve-2026-105221-gist-tls
脆弱性分析エクスプロイトウェブアプリケーション悪用ネットワークセキュリティ暗号化ペネトレーションテストラボと実践
GitHubabraxas/cve-2026-105221-gist-tls

cve-2026-105221-gist-tls

CVE-2026-105221 - gist RubyGem - 高 - MITM - GitHub OAuthトークン窃取

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Abraxas Labs - cve-2026-105221-gist-tls

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  cve-2026-105221-gist-tls

cve-2026-105221-gist-tls

gist RubyGem < 6.1.0 - defunkt

クラス: TLS検証バイパス(認証情報窃取) 到達範囲: リモート(on-path)

http_connection は OpenSSL::SSL::VERIFY_NONE を設定します。GitHubへのHTTPSは依然として暗号化されますが、あらゆる証明書が受け入れられます。on-pathの相手はCLIが送信するOAuthトークンを読み取り、被害者のgistを読み取り・変更できます。

IDCVE-2026-105221
クラスTLS検証バイパス(認証情報窃取)
到達範囲リモート(on-path)
CWECWE-295
CVSSHigh: 7.4 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N(VulnCheck 4.0: 9.1)
製品gist
影響範囲4.0.0 から 6.0.0。ラボ固定バージョン 6.0.0。6.1.0 で修正(07ccc1a)。
認証gist CLIのon-path MITM
ライセンスGNU Affero GPL v3.0
ラボ127.0.0.1 のみ

攻撃者ができること

攻撃者は経路上に位置し、GitHubトークンを奪取します。

  • 任意のTLS証明書を提示する。 gist 6.0.0はピアを検証しません。CN=mitm.invalid の自己署名証明書で十分です。
  • Authorization: token ... を読み取る。 ログイン(gist --login)およびgistのアップロード・一覧表示・削除はすべて http_connection を経由します。~/.gist 内のトークンがそのソケットを通ります。
  • 被害者のgistを読み取り・編集する。 そのトークンは gist スコープを持つGitHub OAuth認証情報です。プライベートgist、更新、削除が可能です。
  • 転送中のログインを傍受する。 デバイスフローおよびユーザー名/パスワードによるログインは、同じ未検証のTLS経由でGitHubにアクセスします。

攻撃者にはネットワーク上の位置が必要です。悪意あるWi-Fi、プロキシ、中間に置かれたマシンなどです。これはサーバーに対する未認証のリモートRCEではありません。

6.1.0は VERIFY_PEER を設定します。同じ偽造証明書は certificate verify failed (self-signed certificate) で失敗し、トークンがクライアントから出ることはありません。

発見の経緯

VulnCheckが CVE-2026-105221 を公開しました。報告者はSiyang Wuです。Issue 373 が公開チケットです。PR 374 が検証モードを変更しました。私は公開CVEをラボで再現しました。公開PoCは存在しませんでした。

6.0.0の lib/gist.rb の http_connection:

if uri.scheme == "https"
  connection.use_ssl = true
  connection.verify_mode = OpenSSL::SSL::VERIFY_NONE
end

6.1.0 では VERIFY_PEER です。

ループバックラボは、自己署名証明書を使用した偽の GitHub Enterprise HTTPS スタブです。GITHUB_URL=https://127.0.0.1:8443 を設定すると、gist は GHE モード(POST /api/v3/gists)になります。一致する ~/.gist.* ファイル内にラボトークン CVE-2026-105221-WITNESS が配置されています。gist 6.0.0 は TLS を完了し、スタブは Authorization: token CVE-2026-105221-WITNESS をキャプチャして証跡を書き込みます。同じスタブに対して gist 6.1.0 は TLS で失敗します。6.1.0 のキャプチャ回数はゼロのままです。api.github.com とは一切通信しません。

SUCCESS CVE-2026-105221 vuln-tls=ok token-captured=1 patched-tls=fail witness-written=yes CVE-2026-105221-WITNESS

誤ったターンはまだ記録されていない。最初の run.sh は SUCCESS を出力した。リバースシェル。芝居だ。オラクルは 6.0.0 でキャプチャされたラボトークンと、6.1.0 での自己署名 TLS エラーである。

ラボ

cd lab
./run.sh

対象は https://127.0.0.1:18210(コンテナ 8443)のみです。run.sh は RubyGems から gist 6.0.0 と 6.1.0 をインストールし、コンテナ内でスタブを提供した後、スタックを破棄します。自己署名証明書を使用します。実際の GitHub は使用しません。

修正方法

gist gem を 6.1.0 以降にアップグレードしてください。

参考情報

  • CVE-2026-105221
  • NVD
  • defunkt/gist タグ v6.0.0 / v6.1.0
  • Issue 373
  • PR 374 / 07ccc1a
  • lib/gist.rb v6.0.0 L466-L468
  • CWE-295

ライセンス

GNU Affero GPL v3.0

ツールをダウンロード