Была обнаружена ошибка в обработке CRIU перезапускаемых последовательностей (rseq) во время проверки/восстановления. Вредоносный процесс внутри контейнера может зарегистрировать критический раздел rseq, который перехватывает внедрение паразитного кода CRIU во время контрольной точки, позволяя подделать учетные данные процесса, сохраненные в образе контрольной точки. При восстановлении процесс контейнера получает расширенные возможности и обнуляется UID/GID.
Практическое влияние на продукты Red Hat ограничено несколькими факторами: для запуска контрольной точки/восстановления требуются права root (podman) или RBAC администратора кластера (OpenShift), и они не могут быть инициированы изнутри самого контейнера; в OpenShift до версии 4.17 эта функция требовала явного согласия, а в версии 4.17+ API контрольной точки kubelet RBAC не настроен по умолчанию; OpenShift по умолчанию применяет пользовательские пространства имен для обычных рабочих нагрузок (hostUsers закрыт за SCC только для администратора), что делает поддельные возможности ограниченными пространством имен и неэффективными для повышения привилегий; Применение типов SELinux (container_t) блокирует переход привилегий независимо от возможностей; Фильтры seccomp сохраняются через контрольную точку/восстановление и не могут быть повреждены паразитом; а проверки владения пространством имен монтирования ядра в ядрах RHEL 9/10 предотвращают выход контейнера на основе монтирования даже с поддельными возможностями.
Показать оригинальное описание (EN)
A flaw was found in CRIU's handling of restartable sequences (rseq) during checkpoint/restore. A malicious process inside a container can register an rseq critical section that hijacks CRIU's parasite code injection during checkpoint, allowing it to spoof the process credentials saved in the checkpoint image. On restore, the container process gains elevated capabilities and zeroed UIDs/GIDs. The practical impact on Red Hat products is limited by several factors: checkpoint/restore requires root privileges (podman) or cluster-admin RBAC (OpenShift) to trigger and cannot be initiated from within the container itself; on OpenShift prior to 4.17 the feature required explicit opt-in, and on 4.17+ the kubelet checkpoint API RBAC is not configured by default; OpenShift enforces user namespaces by default for regular workloads (hostUsers is gated behind admin-only SCCs), which makes the spoofed capabilities namespace-scoped and ineffective for privilege escalation; SELinux type enforcement (container_t) blocks privilege transitions independently of capabilities; seccomp filters persist through checkpoint/restore and cannot be corrupted via the parasite; and kernel mount namespace ownership checks on RHEL 9/10 kernels prevent mount-based container escape even with spoofed capabilities.
Характеристики атаки
Последствия
Строка CVSS v3.1