Nueva vulnerabilidad en el motor CRI-O permite a los atacantes escapar de los contenedores de Kubernetes


Una vulnerabilidad de seguridad recientemente revelada en el motor de contenedores de Kubernetes CRI-O llamada escape cr8 podría ser explotado por un atacante para salir de los contenedores y obtener acceso de root al host.

«La invocación de CVE-2022-0811 puede permitir que un atacante realice una variedad de acciones en los objetivos, incluida la ejecución de malware, la filtración de datos y el movimiento lateral a través de los pods», los investigadores de CrowdStrike, John Walker y Manoj Ahuje. dijo en un análisis publicado esta semana.

Una alternativa ligera a Docker, CRI-O es un tiempo de ejecución del contenedor implementación de la interfaz de tiempo de ejecución de contenedores (CRI) de Kubernetes que se usa para extraer imágenes de contenedores de los registros y lanzar una iniciativa de contenedor abierto (OCI) en tiempo de ejecución compatible, como runC, para generar y ejecutar procesos de contenedor.

Copias de seguridad automáticas de GitHub

La vulnerabilidad tiene una calificación de 8.8 en el sistema de puntuación de vulnerabilidad CVSS y afecta a las versiones 1.19 y posteriores de CRI-O. Después de la divulgación responsable, se lanzaron parches para corregir la falla en versión 1.23.2 enviado el 15 de marzo de 2022.

CVE-2022-0811 proviene de un cambio de código introducido en la versión 1.19 para configurar las opciones del kernel para un pod, lo que da como resultado un escenario en el que un mal actor con permisos para implementar un pod en un clúster de Kubernetes mediante el tiempo de ejecución de CRI-O puede aprovechar el «kernel.core_pattern» parámetro para lograr el escape del contenedor y la ejecución de código arbitrario como raíz en cualquier nodo del clúster.

El parámetro «kernel.core_pattern» se usa para especificar un nombre de patrón para un volcado de memoriaque es un archivo que contiene la instantánea de la memoria de un programa en un momento específico que normalmente se activa en respuesta a fallas inesperadas o cuando el proceso finaliza de manera anormal.

Evitar violaciones de datos

«Si el primer carácter del patrón es un ‘|’ [a pipe], el núcleo tratará el resto del patrón como un comando para ejecutar. El volcado del núcleo se escribirá en la entrada estándar de ese programa en lugar de en un archivo», dice el Documentación del núcleo de Linux.

Por lo tanto, al establecer esta opción para apuntar a un script de shell malicioso y desencadenar un volcado del núcleo, la vulnerabilidad conduce a la invocación del script, logrando efectivamente la ejecución remota del código y otorgando al adversario la capacidad de hacerse cargo del nodo.

«Kubernetes no es necesario para invocar CVE-2022-8011», señalaron los investigadores. «Un atacante en una máquina con CRI-O instalado puede usarlo para configurar los parámetros del kernel por sí mismo».



ttn-es-57