Hace algunos dias se dio a conocer la noticia de que el equipo de investigación de Qualys descubrió una vulnerabilidad de denegación de servicio por agotamiento de la pila en systemd, con lo que cualquier usuario sin privilegios puede aprovechar esta vulnerabilidad para bloquear systemd.
La vulnerabilidad ya catalogada como (CVE-2021-33910) se menciona que afecta a systemd es causada por un fallo al intentar montar un directorio con un tamaño de ruta superior a 8 MB a través de FUSE y en el que el proceso de inicialización del control (PID1) se queda sin memoria de pila y se bloquea, lo que pone al sistema en un estado de «pánico».
Esta vulnerabilidad se introdujo en systemd v220 (abril de 2015) mediante el compromiso 7410616c («núcleo: lógica de validación y manipulación del nombre de la unidad de reelaboración»), que reemplazó un strdup () en el montón por un strdupa () en la pila. La explotación exitosa de esta vulnerabilidad permite que cualquier usuario sin privilegios provoque la denegación de servicio a través del pánico del kernel.
Tan pronto como el equipo de investigación de Qualys confirmó la vulnerabilidad, Qualys participó en la divulgación responsable de la vulnerabilidad y se coordinó con el autor y las distribuciones de código abierto para anunciar la vulnerabilidad.
Los investigadores mencionan que el problema relacionado con CVE-2021-33910 surge debido al hecho de que systemd monitorea y analiza el contenido de /proc/self/mountinfo y maneja cada punto de montaje en la función unit_name_path_escape() lo que hace que se ejecute una operación llamada «strdupa()» la cual se encarga de asignar los datos en la pila en lugar de en el montón.
Es por ello que dado que el tamaño máximo permitido de pila está limitado por la función «RLIMIT_STACK», el manejar una ruta demasiado larga al punto de montaje hace que se bloque el proceso «PID1» lo que conlleva a que se detenga el sistema.
Además, mencionan que para que un ataque sea funcional, se puede usar el módulo FUSE más simple en combinación con el uso de un directorio altamente anidado como punto de montaje, cuyo tamaño de ruta excede los 8 MB.
Tambien es importante mencionar que los investigadores de Qualys hacen mención sobre un caso en particular con la vulnerabilidad, ya que en especial con la versión de systemd 248, el exploit no es funcional debido a que un error que está presente en el código de systemd que hace que /proc/self/mountinfo falle. También es interesante que en 2018 surgió una situación muy similar, ya que mientras intentaban escribir un exploit para la vulnerabilidad CVE-2018-14634 en el kernel de Linux, en el cual los investigadores de Qualys encontraron otras tres vulnerabilidades críticas en systemd.
Sobre la vulnerabilidad el equipo de Red Hat menciono que cualquier producto que sea compatible con RHEL también se verá potencialmente afectado.
Esto incluye:
- Contenedores de productos que se basan en las imágenes de contenedores RHEL o UBI. Estas imágenes se actualizan con regularidad, y el estado del contenedor que indica si hay una solución disponible para esta falla se puede ver en Container Health Index, parte del Red Hat Container Catalog (https://ift.tt/3fbTGTA).
- Productos que extraen paquetes del canal RHEL. Asegúrese de que el paquete systemd subyacente de Red Hat Enterprise Linux esté actualizado en estos entornos de productos.
Debido a la amplitud de la superficie de ataque de esta vulnerabilidad, Qualys recomienda a los usuarios que apliquen los parches correspondientes (que ya fueron liberados hace pocos dias) para esta vulnerabilidad de inmediato.
Como ya se mencionó el problema ha aparecido desde systemd 220 (abril de 2015) y ya se ha solucionado en el repositorio principal de systemd y se ha solucionado en la mayoría de las distribuciones de Linux principales, asi como tambien en sus derivados, pueden consultar el estatus en los siguientes enlaces (Debian, Ubuntu, Fedora, RHEL, SUSE, Arch).
Finalmente, si estás interesado en poder conocer más al respecto sobre esta vulnerabilidad, puedes consultar los detalles de ello en el siguiente enlace.
from Desde Linux https://ift.tt/376j2xE
via IFTTT
No hay comentarios.:
Publicar un comentario