# Kyverno v1.20.0

> Security · 2026-11-12

CEL と OCI を含む機能拡張に加え、レガシーポリシーからの移行を支える制約変更と、CLI・ポリシー動作の更新が入っています。レガシーポリシーの実行削除やポリシーとチャートの制約変更、依存関係のセキュリティ更新があるため、該当する構成では確認が必要です。

## 要対応
- **[security · critical]** `x/net` のセキュリティ更新
  - `CVE-2026-78663` に対応するため、`x/net` を更新しました。
- **[security · high]** `oras.land/oras-go/v2` の更新
  - `oras.land/oras-go/v2` を v2.6.2 に更新し、`CVE-2026-50163` を解消しました。
- **[security · high]** `x/net` の更新
  - `x/net` を更新し、HTTP/2 の `ReadHeaderTimeout` 回避に関する `CVE-2026-56853` を解消しました。
- **[security · high]** `Go` 1.26.6 への更新
  - 標準ライブラリでの `CVE-2026-56853` に対応するため、`Go` を 1.26.6 に更新しました。
- **[security · high]** `miekg/dns` の更新
  - DNS 解析時のパニックに関する `CVE-2026-46600` に対応するため、`miekg/dns` を更新しました。
- **[security · high]** `Go` 1.27.2 への更新
  - `CVE-2026-97031` に対応するため、`Go` を 1.27.2 に更新しました。
- **[security · high]** `golang.org/x/net` のセキュリティ更新
  - `CVE-2026-78669` に対応するため、`golang.org/x/net` を更新しました。
- **[security · medium]** `golang` 1.27.3 への更新
  - `CVE-2026-111943` に対応するため、`golang` を 1.27.3 に更新しました。
- **[security]** 依存関係の CVE 対応
  - `oras-go`、`x/mod`、`Go toolchain` の依存関係を更新し、依存関係に含まれる CVE に対応しました。
- **[security]** `rekor` 依存関係の置き換え
  - `GO-2026-5932` に対応するため、`rekor` の依存関係を置き換えました。

## 影響確認
- **[security]** `apiCall.service` のアドレス検証
  - `apiCall.service` を設定している場合に適用されます。
  - `apiCall.service` の送信先で、IPv6 に埋め込まれた IPv4 アドレスによるブロックリスト回避を防ぐようになりました。
- **[breaking]** `request.operation` の値検証
  - `request.operation` を設定している場合に適用されます。
  - `request.operation` の条件で文字列以外の値を受け付けなくなりました。
- **[breaking]** `ImageValidatingPolicy` の `matchConstraints` 検証
  - `ImageValidatingPolicy` に空の `matchConstraints` を設定している場合に適用されます。
  - 空の `matchConstraints` を持つ `ImageValidatingPolicy` を拒否するようになりました。
- **[breaking]** 名前空間付きポリシーの `globalContext` 制約
  - 名前空間付きポリシーで `globalContext` を設定している場合に適用されます。
  - 名前空間付きポリシーで `globalContext` を使用できなくなりました。
- **[breaking]** レガシーポリシー API の作成と更新の制限
  - レガシーなポリシー API を使用している場合に適用されます。
  - レガシーなポリシー API の作成と `spec` の更新がブロックされるようになりました。
- **[breaking]** レガシーポリシー CR 用のインストールゲート
  - インストール時またはアップグレード時にレガシーポリシー CR を有効にする場合に適用されます。
  - インストール時とアップグレード時に、レガシーポリシー CR を有効にするための必須ゲートが追加されました。
- **[breaking]** CLI でのレガシーポリシーマニフェスト制限
  - CLI を `apply` または `test` で実行する場合に適用されます。
  - `apply` または `test` でレガシーポリシーマニフェストがブロックされ、移行用の回避手段が追加されました。
- **[breaking]** CEL PolicyException の `exceptionNamespace` 適用
  - CEL PolicyException に `exceptionNamespace` を設定している場合に適用されます。
  - CEL PolicyException で `exceptionNamespace` が適用されるようになりました。
- **[breaking]** 型付き依存関係のないレガシーポリシー書き込みの制限
  - 型付きポリシー依存関係なしでレガシーポリシーを書き込んでいる場合に適用されます。
  - 型付きポリシー依存関係を持たないレガシーポリシーの書き込みが拒否されるようになりました。
- **[breaking]** アドミッションバイナリのレガシーポリシー実行削除
  - アドミッションバイナリを使用している場合に適用されます。
  - アドミッションバイナリからレガシーポリシーの実行が削除されました。
- **[breaking]** バックグラウンドコントローラーのレガシーポリシー実行削除
  - バックグラウンドコントローラーを実行している場合に適用されます。
  - バックグラウンドコントローラーからレガシーポリシーの実行が削除されました。
- **[breaking]** レポートコントローラーのレガシーポリシー評価削除
  - レポートコントローラーを実行している場合に適用されます。
  - レポートコントローラーからレガシーポリシーの評価が削除されました。
- **[breaking]** レガシー CLI 実行の削除
  - レガシー CLI 実行を使用している場合に適用されます。
  - レガシー CLI 実行とポリシー作成処理の分岐が削除されました。
- **[breaking]** `legacy CRD schemas` の固定
  - レガシー CRD スキーマを設定している場合に適用されます。
  - 共有 `kyverno` API 型を整備し、`legacy CRD schemas` が固定されました。
- **[breaking]** CEL ポリシーの最小バージョン更新
  - CEL ポリシーを使用している場合に適用されます。
  - CEL ポリシーの最小バージョンが 1.17.0 に更新されました。
- **[breaking]** レガシー `kyverno.io` ポリシーエンジンの削除
  - レガシーな `kyverno.io` ポリシーエンジンを実行している場合に適用されます。
  - レガシーな `kyverno.io` ポリシーエンジンが削除されました。
- **[breaking]** レガシー `kyverno.io` Go API の削除
  - レガシーな `kyverno.io` Go API に依存している場合に適用されます。
  - レガシーな `kyverno.io` Go API が削除され、クライアントが再生成されました。

## 事前準備
- **[deprecated]** `jmesPath` projections の非推奨化
  - `jmesPath` projections を使用している場合に適用されます。
  - `jmesPath` projections が非推奨になり、その利用状況を計測するようになりました。

## その他の記録された変更
- 228 (defect_corrected 137, value_changed 60, added 28, constraint_changed 2, removed 1)

[分析の詳細](https://ratatosk.io/ja/releases/kyverno/v1.20.0)

[元のリリースノート](https://github.com/kyverno/kyverno/releases/tag/v1.20.0)
