CVE-2023-5528: Fallo de Kubernetes que pone en peligro el nodo de Windows y que no se puede ignorar

En acontecimientos recientes, los expertos en ciberseguridad han dado la alarma sobre una vulnerabilidad de alta gravedad identificada en Kubernetes , marcada como CVE-2023-5528. Esta falla crítica tiene el potencial de permitir a los atacantes ejecutar código arbitrario con privilegios del sistema en todos los puntos finales de Windows dentro de un clúster. Akamai, una empresa líder mundial en redes de distribución de contenidos, ciberseguridad y servicios en la nube, ha emitido una advertencia sobre la gravedad de esta vulnerabilidad y sus implicaciones para las organizaciones que utilizan Kubernetes en plataformas Windows.

COMPRENDER CVE-2023-5528

El investigador de seguridad de Akamai, Tomer Peled, ha descubierto una vulnerabilidad crítica en Kubernetes, designada como CVE-2023-5528, con una puntuación CVSS de 7,2. Esta vulnerabilidad es particularmente alarmante ya que permite la ejecución remota de código con privilegios de SISTEMA en todos los puntos finales de Windows dentro de un clúster de Kubernetes. El mecanismo de explotación implica la aplicación de archivos YAML maliciosos al clúster, lo que representa una grave amenaza a la seguridad que podría llevar a la toma total de todos los nodos de Windows en el clúster afectado.

CVE-2023-5528 se puede explotar en instalaciones predeterminadas de versiones de Kubernetes anteriores a la 1.28.4. Esta vulnerabilidad se ha verificado tanto en implementaciones locales como en Azure Kubernetes Service (AKS). La publicación del blog proporciona un archivo YAML de prueba de concepto y una regla de Agente de políticas abiertas (OPA) para ayudar a bloquear esta vulnerabilidad, enfatizando la naturaleza crítica de esta falla de seguridad.

DETALLES TÉCNICOS Y PRUEBA DE CONCEPTO DE CVE-2023-5528

La vulnerabilidad CVE-2023-5528, descubierta por el investigador de seguridad de Akamai, Tomer Peled, es una falla de alta gravedad en Kubernetes con una puntuación CVSS de 7,2. Permite la ejecución remota de código con privilegios de SISTEMA en todos los puntos finales de Windows dentro de un clúster de Kubernetes. Esta sección profundiza en los detalles técnicos y proporciona una prueba de concepto para comprender el mecanismo de explotación de la vulnerabilidad.

ORIGEN DE LA VULNERABILIDAD

La causa principal de CVE-2023-5528 radica en el manejo inseguro del subPathparámetro en los archivos YAML que crean pods con volúmenes en Kubernetes. Esta falta de desinfección de la entrada del usuario abre la puerta a vulnerabilidades de inyección de comandos. El enfoque específico de CVE-2023-5528 está en los clústeres de Kubernetes que se ejecutan en nodos de Windows, donde la explotación de esta vulnerabilidad puede conducir al control total sobre todos los nodos de Windows en un clúster.

VOLÚMENES DE KUBERNETES Y VOLÚMENES PERSISTENTES

Los volúmenes de Kubernetes admiten compartir datos entre pods o almacenarlos de forma persistente fuera del ciclo de vida de un pod. Los volúmenes locales y los volúmenes hostPath son dos tipos relevantes para esta vulnerabilidad. Los volúmenes locales permiten a los usuarios montar particiones de disco dentro de un pod, mientras que los volúmenes hostPath permiten el montaje de directorios desde el nodo en un pod.

El proceso de explotación implica la creación de un pod que incluye un volumen local. Durante este proceso, el servicio kubelet eventualmente llama a la MountSensitive()función, que incluye una llamada de línea de comando a exec.command. Esta llamada crea un enlace simbólico entre la ubicación del volumen en el nodo y el interior del pod. Al manipular este proceso, un atacante puede inyectar comandos maliciosos.

PRUEBA DE CONCEPTO

La prueba de concepto implica manipular el local.path parámetro dentro del archivo YAML de volumen persistente para incluir un comando malicioso. Luego, este comando se ejecuta durante el proceso de montaje del volumen. &calc.exe&& Para fines de demostración, se utiliza un comando benigno como , que abre una calculadora en el nodo. Sin embargo, este método se puede adaptar para ejecutar comandos más maliciosos.

Cuando este archivo YAML se aplica al clúster, se ejecuta el comando malicioso, lo que demuestra el potencial de explotación de la vulnerabilidad.

ANÁLISIS DE MITIGACIÓN Y PARCHES

El equipo de Kubernetes abordó esta vulnerabilidad reemplazando la llamada de línea de comando vulnerable en la MountSensitive()función con una función Go nativa, os.Symlink()que realiza de forma segura la operación de enlace simbólico sin la posibilidad de inyección de comando.

Para determinar la vulnerabilidad, los administradores pueden verificar su versión de Kubernetes y la presencia de nodos de Windows en su clúster. La vulnerabilidad afecta a las instalaciones predeterminadas de Kubernetes anteriores a la versión 1.28.4.

CVE-2023-5528 destaca la importancia crítica de la desinfección de entradas en Kubernetes y el potencial de graves implicaciones de seguridad cuando se explotan las vulnerabilidades. Al comprender los detalles técnicos y la prueba de concepto, los administradores y profesionales de la seguridad pueden evaluar mejor la vulnerabilidad de sus sistemas y aplicar los parches y mitigaciones necesarios para proteger sus clústeres de Kubernetes.

IMPLICACIONES MÁS AMPLIAS PARA LA SEGURIDAD DE KUBERNETES

El descubrimiento de CVE-2023-5528 destaca los continuos desafíos de seguridad que enfrentan los entornos de Kubernetes. A medida que las organizaciones adoptan cada vez más la contenedorización y Kubernetes para sus necesidades operativas, la seguridad de estos sistemas se vuelve primordial. Este incidente sirve como recordatorio de la importancia de mantener prácticas de seguridad rigurosas, mantenerse informado sobre las vulnerabilidades emergentes y abordar con prontitud las amenazas identificadas.

La explotación de la vulnerabilidad de alta gravedad CVE-2023-5528 de Kubernetes representa una amenaza importante para las organizaciones que utilizan Kubernetes en plataformas Windows. La posibilidad de ejecución de código arbitrario con privilegios del sistema subraya la necesidad de medidas de seguridad inmediatas e integrales. Siguiendo las recomendaciones proporcionadas por expertos en ciberseguridad y entidades como Akamai, las organizaciones pueden mitigar los riesgos asociados con esta vulnerabilidad y salvaguardar sus entornos Kubernetes contra posibles amenazas. A medida que el panorama de la ciberseguridad continúa evolucionando, mantenerse alerta y proactivo para abordar las vulnerabilidades será clave para mantener la seguridad y la integridad de los sistemas críticos.