脆弱性
@sigstore/oci において、レジストリ認証情報の選択処理に不備が存在する。Docker 設定ファイルからの認証情報取得時に、完全一致ではなく部分一致によるホスト名比較を行っているため、攻撃者が用意した悪意あるレジストリ(ホスト名が既存の設定のサブ文字列となっているもの)に対して、意図しない別のレジストリの認証情報が送信されるおそれがある。CVSSスコアは9.6と評価されているが、実際のエクスポイトにはホスト上のDocker設定ファイルの存在、宛先レジストリが信頼できないソースに影響を受けること、攻撃者が特定のホスト名を持つレジストリを制御していることなどの条件が必要となる。
なぜご自身の組織で確認すべきかCI/CD環境やGitHub Actionsで広く利用されるライブラリにおける認証情報流出の脆弱性であり、サプライチェーンリスクが高いため。
攻撃手法(確認済み)
攻撃者に長期のレジストリ認証情報が露出することで、プライベートレジストリへの不正アクセスやコンテンツの改ざん、サービス停止などの重大な被害につながるおそれがある。
自組織チェックポイント
@sigstore/oci を 0.7.1 以降にアップグレードすること。また、影響を受ける GitHub Actions(@actions/attest 等)を利用している場合は、修正版が含まれるバージョンへとアップデートを行うこと。ワークアラウンドとして、宛先レジストリへの入力を信頼できるものに限定し、ホスト上の Docker 設定にある認証情報を必要最小限に抑えることが推奨される。