概要
コンテナイメージのビルドツールであるkanikoにおいて、ビルドコンテキストのアーカイブ展開処理にパス・トラバーサル脆弱性(CVE-2026-28406)が報告されました。この脆弱性は、アーカイブ内の不正なパス指定により、本来の展開先ディレクトリ外にファイルを書き込むことを可能にするものです。
特に、レジストリ認証が設定されている環境では、Dockerのクレデンシャルヘルパーと組み合わせることで、kanikoを実行するプロセス内でのコード実行につながる可能性があるとされています。
影響範囲
本脆弱性の影響を受けるのは、kanikoの以下のバージョンです。
- バージョン 1.25.4 から 1.25.9 まで(バージョン 1.25.10 未満)
バージョン 1.25.10 では、アーカイブ展開時のパス解決にsecurejoinが使用されるようになり、この脆弱性は修正されています。
想定される影響
この脆弱性が悪用された場合、以下のような影響が想定されます。
- 意図しないファイル書き込み: 攻撃者は、ビルドコンテキストのアーカイブ内に
../outside.txtのような不正なエントリを含めることで、kanikoがアーカイブを展開する際に、本来の展開先ディレクトリ(dest)の外部にファイルを書き込む可能性があります。 - コード実行の可能性: レジストリ認証が有効な環境で、Dockerのクレデンシャルヘルパーが使用されている場合、このファイル書き込みと組み合わせて、kanikoを実行するプロセス内で任意のコードが実行される可能性があります。これにより、システムへの不正アクセスやデータ改ざんなど、より深刻な被害につながる恐れがあります。
攻撃成立条件・悪用状況
本脆弱性の悪用には、kanikoが処理するビルドコンテキストのアーカイブに、不正なパスを含むエントリが仕込まれている必要があります。
特にコード実行に至るには、以下の条件が揃う必要があると報告されています。
- kanikoがレジストリ認証を使用している環境であること。
- Dockerのクレデンシャルヘルパーが利用されていること。
現在のところ、本脆弱性の積極的な悪用状況については、公開情報からは確認されていません。
推奨対策
今すぐできる対策(最優先)
- kanikoのアップデート: 脆弱性が修正されたバージョン 1.25.10 以降に速やかにアップデートしてください。これが最も効果的な対策です。
中長期的な対策
- ビルドコンテキストの信頼性確認: kanikoでビルドするコンテナイメージのソースやビルドコンテキストのアーカイブが信頼できるものであることを常に確認してください。
- 実行環境の最小権限原則: kanikoを実行する環境において、必要最小限の権限のみを付与するよう設定を見直してください。万が一脆弱性が悪用された場合でも、被害範囲を限定するのに役立ちます。
一時的な緩和策
本脆弱性はアーカイブ展開時のパス処理に起因するため、根本的な解決にはアップデートが不可欠です。一時的な緩和策として、以下のような運用上の注意が考えられますが、完全な防御にはなりません。
- 信頼できないソースからのビルドコンテキストの利用を避ける。
- 可能であれば、kanikoの実行環境を隔離し、外部への影響を最小限に抑える。
確認方法
現在使用しているkanikoのバージョンを確認してください。バージョンが1.25.4から1.25.9の範囲内であれば、本脆弱性の影響を受けます。
kanikoのバージョンは、通常、kanikoの実行時に表示される情報や、コンテナイメージのタグなどで確認できます。