Описание
CRI-O's pods can break out of resource confinement on cgroupv2
Impact
What kind of vulnerability is it? Who is impacted?
All versions of CRI-O running on cgroupv2 nodes.
Unchecked access to an experimental annotation allows a container to be unconfined. Back in 2021, support was added to support an experimental annotation that allows a user to request special resources in cgroupv2. It was supposed to be gated by an experimental annotation: io.kubernetes.cri-o.UnifiedCgroup
, which was supposed to be filtered from the list of allowed annotations . However, there is a bug in this code which allows any user to specify this annotation, regardless of whether it's enabled on the node. The consequences of this are a pod can specify any amount of memory/cpu and get it, circumventing the kubernetes scheduler, and potentially be able to DOS a node.
Patches
Has the problem been patched? What versions should users upgrade to? 1.29.1, 1.28.3, 1.27.3
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading? use cgroupv1
References
Are there any links users can visit to find out more?
Ссылки
- https://github.com/cri-o/cri-o/security/advisories/GHSA-p4rx-7wvg-fwrc
- https://nvd.nist.gov/vuln/detail/CVE-2023-6476
- https://github.com/cri-o/cri-o/pull/4479
- https://github.com/cri-o/cri-o/commit/75effcb1a25851a736e82dba1f7d8cee93ee159e
- https://access.redhat.com/errata/RHSA-2024:0195
- https://access.redhat.com/errata/RHSA-2024:0207
- https://access.redhat.com/security/cve/CVE-2023-6476
- https://bugzilla.redhat.com/show_bug.cgi?id=2253994
- https://github.com/cri-o/cri-o/blob/main/pkg/config/workloads.go#L103-L107
Пакеты
github.com/cri-o/cri-o
= 1.29.0
1.29.1
github.com/cri-o/cri-o
>= 1.28.0, < 1.28.3
1.28.3
github.com/cri-o/cri-o
< 1.27.3
1.27.3
Связанные уязвимости
A flaw was found in CRI-O that involves an experimental annotation leading to a container being unconfined. This may allow a pod to specify and get any amount of memory/cpu, circumventing the kubernetes scheduler and potentially resulting in a denial of service in the node.
A flaw was found in CRI-O that involves an experimental annotation leading to a container being unconfined. This may allow a pod to specify and get any amount of memory/cpu, circumventing the kubernetes scheduler and potentially resulting in a denial of service in the node.
A flaw was found in CRI-O that involves an experimental annotation leading to a container being unconfined. This may allow a pod to specify and get any amount of memory/cpu, circumventing the kubernetes scheduler and potentially resulting in a denial of service in the node.
A flaw was found in CRI-O that involves an experimental annotation lea ...