GitHubは、GitHub CLIのトークン露出、署名検証回避、パストラバーサルの脆弱性を案内しています。いずれも2.97.0で修正されており、利用企業は更新と、過去の出力に認証情報が残っていないかの確認が必要です。資料には発表日の記載がありません。
認証確認の出力にトークンの一部が残る恐れ
CVE-2026-64652は、コマンドで認証状態を確認するgh auth statusの問題です。トークンの表示を明示する--show-tokenを付けなくても、認証に使うトークンの一部が平文で出力される恐れがあります。
原因は、最後のアンダースコアより後だけを隠す処理です。対象には、きめ細かな個人アクセストークンのgithub_pat_*、GitHub Appのインストール用・ユーザー用トークンのghs_*とghu_*が含まれます。ActionsのGITHUB_TOKENも対象です。
GitHubは、露出した文字列が、ビルドや配布などを自動実行するCI/CDのログや共有画像に残る恐れを挙げています。単に端末を更新するだけでは、過去に記録した出力の確認は済みません。
2.97.0では、明示指定がなければ既知の接頭辞以外を隠すよう修正しました。GitHubは、出力が記録・共有された可能性のある対象トークンの更新を推奨しています。一方、ActionsのGITHUB_TOKENはジョブ終了時に無効化されるため、通常は手動での失効は不要です。
署名元の照合とAPI要求先にも問題
CVE-2026-64655は、gh attestation verifyによる署名検証の問題です。署名元を指定する--signer-repoと--signer-workflowの値が正規表現として扱われ、ドットなどが文字どおりに照合されません。
GitHubによると、悪用には類似名のリポジトリと有効なSigstore証明が必要です。特定の署名元を信頼するCI/CDでは、検証が損なわれる恐れがあります。対策は2.97.0以降への更新、または適用可能な場合の--repoや--ownerへの切り替えです。
CVE-2026-64653は、要求先のパスが意図せず変わるパストラバーサルの問題です。一部のHTTP要求URLで、可変部分の特殊文字を適切に処理していませんでした。入力値を制御する攻撃者が要求先APIを変更し、意図しないリソースの読み取りや操作につながる恐れがあります。2.97.0でURL生成が修正されています。
日本での提供は発表には書かれていません。
影響する会社・しない会社
- 影響する: 対象形式のトークンで
gh auth statusを使う会社です。特に出力をログに記録したり、画像で共有したりする運用は確認対象です。
- 影響する:
gh attestation verifyで--signer-repoや--signer-workflowを使い、特定の署名元を信頼している会社です。
- 影響する: GitHub CLIで外部入力などをHTTP要求のパスに使う処理は確認対象です。ただし、パストラバーサルに関係する具体的なコマンドの一覧は、資料には書かれていません。
- 影響しない: 本文にアンダースコアを含まない従来型の
gho_*とghp_*は、今回のトークン露出の影響を受けません。
- 影響しない:
--repoと--ownerは完全一致で比較するため、今回の署名検証回避の影響を受けません。別の脆弱性も含めて影響がないという意味ではありません。
情シスが今日やること
発表には対応期限の記載がありません。以下を社内の初動手順として進めます。
- 今日、利用場所と版を集める。 開発責任者とCI/CDの運用担当者に、GitHub CLIを使う端末・実行環境、利用版、更新担当者の報告を依頼します。端末だけでなく、自動処理で使う環境も確認対象にします。
- 確認中は出力の記録・共有を避ける。 更新が済むまで、ログに記録される環境や画面を共有する場面で
gh auth statusを実行しないよう、利用者へ通知します。確認のために再実行して、新たな出力を残さないようにします。
- 既存のログと共有画像を調べる。 CI/CD担当者にはジョブのログ、開発担当者には共有済み画像で、同コマンドの出力が残っていないか確認を依頼します。対象トークンの出力が記録・共有された可能性があれば、その管理者に更新を依頼します。Actionsの
GITHUB_TOKENは、通常は手動失効が不要という扱いを分けます。
- 署名検証の設定を確認する。 CI/CDの定義や実行スクリプトで
gh attestation verifyを探し、使用している署名元の指定方法を確認します。更新までの代替策として--repoや--ownerを適用できるか、開発担当者に判断を求めます。
- 修正版への更新を管理する。 2.97.0以降への更新日を担当者ごとに決め、完了後に利用版を再確認します。トークン確認とCLI更新は別の作業として記録し、どちらか一方だけで対応完了にしない運用にします。