In CRI-O, il runtime per la gestione di container isolati, è stata identificata una vulnerabilità critica (CVE-2022-0811) che consente di eludere l'isolamento ed eseguire codice sulla side del sistema host. Se viene utilizzato CRI-O al posto di containerd e Docker per organizzare l'avvio di container gestiti dalla piattaforma Kubernetes, un attaccante può ottenere il controllo su qualsiasi nodo nel cluster Kubernetes. Per condurre l'attacco sono sufficienti i diritti per avviare il proprio container nel cluster Kubernetes.
La vulnerabilità è causata dalla possibilità di modificare il parametro sysctl del kernel "kernel.core_pattern" ("/proc/sys/kernel/core_pattern"), l'accesso al quale non era bloccato, nonostante non rientri tra i parametri sicuri per la modifica, che agiscono solo nello spazio dei nomi del container attuale. Tramite questo parametro, l'utente dal container può modificare il comportamento del kernel Linux riguardo il trattamento dei core file sulla side dell'ambiente host e organizzare l'esecuzione di un comando arbitrario con diritti root sulla side dell'host, specificando un gestore di tipo "|/bin/sh -c 'comandi'".
Il problema si manifesta a partire dal rilascio di CRI-O 1.19.0 ed è stato risolto negli aggiornamenti 1.19.6, 1.20.7, 1.21.6, 1.22.3, 1.23.2 e 1.24.0. Nei distribuzioni, il problema si manifesta nei prodotti Red Hat OpenShift Container Platform e openSUSE/SUSE, nei cui repository è disponibile il pacchetto cri-o.
Fonte: opennet.ru
