CRI-O
v1.37.0Kubernetes Coreオペレーター向けの機能と互換性に関わる変更を含み、デフォルトやインターフェースの見直し、正確性と性能の改善が行われています。明示されたセキュリティ修正に加え、依存関係の更新と保守も含まれます。
要対応 (2)
securityhighCVE-2026-15809 の修正
CVE-2026-15809 を修正しました。
HOME環境変数に改行文字を含めることで、CVE-2022-4318 の修正を回避して/etc/passwdに注入できる問題に対応しています。securityhighGoツールチェーンを1.26.4へ更新
Go toolchainを 1.26.4 に更新し、CVE-2026-27145、CVE-2026-42504、CVE-2026-42507 を修正しました。
影響確認 (4)
breaking非推奨のレジストリー設定とCLIフラグの削除
insecure_registriesを設定している場合、または--insecure-registryを使用している場合に適用されます。非推奨だった
insecure_registries設定オプションと--insecure-registryCLI フラグを削除しました。代わりにregistries.のconf insecureオプションを使用します。breakingチェックポイントとリストアのデフォルト動作を変更
container_level_enabledを設定していない場合に適用されます。checkpoint_restoreの設定フィールドcontainer_level_enabledのデフォルトをcheckpoint_onlyに変更し、デフォルトではリストアを無効にしました。breakinggRPCメッセージサイズのデフォルトを縮小
grpc_max_send_msg_sizeまたはgrpc_max_recv_msg_sizeを設定していない場合に適用されます。grpc_max_send_msg_sizeとgrpc_max_recv_msg_sizeのデフォルトを、従来の 80 MiB から 16 MiB に変更しました。breakingCRIメトリクスの
nameラベルを削除CRI メトリクスを使用している場合に適用されます。
CRI メトリクスから
nameラベルを削除しました。
その他の記録済み変更 32 件すべてfixes 14 · value changes 7 · additions 6 · constraints 3 · defaults 1 · renames 1
fixes (14)
- CRI-O now keeps logging blocked syscalls detected by the seccomp notifier instead of only reporting the first event when the notifier action is not "stop".
- Deduplicate concurrent image volume MountImage calls to avoid containers/storage lock serialization when many pods mount the same image volume simultaneously.
- Fix CRI-O crash (nil pointer dereference) in ListPodSandboxStats when a container's cgroup is cleaned up during teardown.
- Fix SELinux labeling so systemd/init containers receive container_init_t again instead of remaining container_t and failing to create cgroups.
- Fix a bug in high performance hooks where an init container would continue to hold a cpuset that could be used by a regular container in the same pod.
- Fix a latent crash in
pinnscaused by a missing zero terminator on thegetopt_longlong options array. - Fix artifact names from externally created OCI layouts (e.g. via skopeo) being incorrectly normalized to wrong docker references.
- Fix network metrics collection to use the pod's network namespace.
- Fixed a bug where ImageRef in container status changed from a repo@digest to a raw image ID hash after CRI-O restart.
- Fixed privileged sandboxes inheriting generate.New()'s default-deny seccomp filter when privileged_seccomp_profile is unset, so they now run unconfined as intended.
- NRI container lifecycle events now correctly include the container name and pod sandbox ID.
- Reduced the verbosity of debug logs for List* RPC calls to improve performance
- Restores pre-1.34 behavior handling envvar values containing non-utf8 data
- Fix user namespace mappings persistence across CRI-O restarts
value changes (7)
- Add conmon-rs v1.0.1 support, drop backward compatibility with previous versions.
- Added
namespace,pod, andcontainerlabels to CRI metrics - Optimized environment variable merging during container creation by eliminating redundant string operations, improving container startup performance.
- Remove experimental markers from additional_artifact_stores configuration option.
- Bumped go.podman.io/common to v0.68.0.
- Because of this change, the Configuration File lookup behavior has changed.
- Update gomaxprocs hook to ignore workload partitioning when considering whether to inject, as well as update the calculation to ensure containers get at least double the requested number of CPUs, to reduce potential go scheduler throttling.
additions (6)
- Add
enable_cni_status_monitoringconfig option (default false) andcni_status_grace_period(default 60s) to gate continuous CNI STATUS monitoring and tolerate brief plugin disruptions during upgrades. - Add a new config field to allow node admins to only allow checkpointing, and disallowing restore.
- Added container memory metrics
container_memory_active_anon_bytesandcontainer_memory_inactive_anon_bytes(cgroup v1 and v2), andcontainer_memory_anon_thp_bytes,container_memory_shmem_thp_bytesandcontainer_memory_file_thp_bytes(cgroup v2 only). - CRI-O now reports
runtimeFeatures.as enabled on Linux and uses a recursively read-onlyUserNamespacesHostNetwork /sysbind mount for containers running with both host network and user namespaces. - Support for encrypted container images in Confidential Containers use case: cri-o will now ignore the container image layers, allowing the underlying Confidential Container runtime to manage the image pull management.
- Support gVisor containerd-shim-runsc-v1
constraints (3)
- Add btrfs storage driver support to static builds
- These are gated behind a new
memoryExtravalue forincluded_pod_metrics, separate frommemory. - Added support for per-container targeting of cpu-load-balancing.crio.io, irq-load-balancing.crio.io, and cpu-quota.crio.io annotations.
defaults (1)
- The default pause image is now registry.k8s.io/pause:3.10.2.
renames (1)
- Renamed --checkpoint-restore-container-level-enabled flag to --checkpoint-restore-level
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。