Un fallo de alta gravedad permite a los atacantes eludir la verificación de Kyverno Signature
Según los investigadores de ARMO, el controlador de admisión Kyverno para imágenes de contenedores tiene una vulnerabilidad de seguridad de alta gravedad.
Utilizando un repositorio de imágenes malicioso o un proxy MITM, el fallo (CVE-2022-47633) puede ser explotado para permitir a un atacante inyectar imágenes no firmadas en el cluster protegido, saltándose la política de verificación de imágenes.
El fallo podría permitir a los atacantes inyectar código malicioso en entornos de producción en la nube. Los usuarios pueden utilizar el motor de políticas de código abierto de Kubernetes Kyverno, que Red Hat mantiene en GitHub, para definir y aplicar políticas a su clúster y sus aplicaciones.
Kyverno puede utilizarse para garantizar que los recursos, aplicaciones y otros componentes de un clúster cumplen los requisitos operativos, de seguridad y de conformidad. La explotación exitosa de la vulnerabilidad podría provocar un problema en la cadena de suministro.
Un registro de imágenes malicioso (o un atacante man-in-the-middle) puede inyectar imágenes de contenedor arbitrarias sin firmar en un clúster Kubernetes protegido a través de la vulnerabilidad de evasión de validación de firma de imagen en Kyverno 1.8.3 y 1.8.4. Debido al uso de reglas verifyImages para la verificación, que no pueden evitar registros desconocidos, la vulnerabilidad se introdujo en la versión 1.8.3 de Kyverno.
Según los investigadores de ARMO, la vulnerabilidad surge porque el proceso de validación de firmas del controlador descarga el manifiesto de la imagen dos veces, pero sólo verifica una firma para una de las descargas.
Según los investigadores, tras el ataque, el hacker puede asumir con éxito el mando del pod de la víctima y utilizar todos sus recursos y credenciales, incluido el token de la cuenta de servicio, para acceder al servidor API. Mediante el uso de un repositorio de imágenes malicioso o un proxy MITM para devolver un manifiesto diferente para el proceso de verificación, se eludió el proceso de validación.
Los atacantes utilizaron ingeniería social para convencer a un administrador de que insertara imágenes maliciosas en contenedores. A continuación, estas imágenes se alojan en cuentas comprometidas y se utilizan ataques de phishing para engañar a los usuarios para que también las utilicen. Cuando la imagen se importa por primera vez, el registro malicioso devuelve al controlador de admisión una imagen válida.
El controlador de admisión, por su parte, solicita el manifiesto de la imagen firmada una segunda vez con el fin de obtener el compendio para la mutación; es decir, para actualizar la etiqueta legible por humanos del contenedor. Esta vez, no se realiza ninguna validación de firma, lo que permite al registro malicioso devolver una imagen diferente, sin firmar y maliciosa, que finalmente se pone en marcha y se ejecuta.
La vulnerabilidad se ha solucionado en la versión 1.8.5 garantizando que el mismo hash de imagen utilizado para autenticar las firmas también se emplea para modificar la especificación de la carga de trabajo.
Las fuentes de este artículo incluyen un artículo en DarkReading.