
POC para CVE-2021-41091
Este exploit ofrece una mirada en profundidad a la vulnerabilidad de seguridad CVE-2021-41091 y proporciona una guía paso a paso sobre cómo utilizar el script de exploit para lograr una escalada de privilegios en un host.
CVE-2021-41091 es una falla en Moby (Motor Docker) que permite a usuarios Linux no privilegiados recorrer y ejecutar programas dentro del directorio de datos (normalmente ubicado en /var/lib/docker) debido a permisos restringidos incorrectamente. Esta vulnerabilidad está presente cuando los contenedores contienen programas ejecutables con permisos extendidos, como setuid. Los usuarios Linux no privilegiados pueden entonces descubrir y ejecutar esos programas, así como modificar archivos si el UID del usuario en el host coincide con el propietario del archivo o el grupo dentro del contenedor.
El sistema de archivos overlay es un componente crítico para explotar esta vulnerabilidad. El sistema de archivos overlay de Docker permite que el sistema de archivos del contenedor se superponga al sistema de archivos del host, permitiendo así que el sistema host acceda y manipule los archivos dentro del contenedor. En el caso de CVE-2021-41091, los permisos de directorio demasiado permisivos en /var/lib/docker/overlay2 permiten a usuarios no privilegiados acceder y ejecutar programas dentro de los contenedores, lo que lleva a un posible ataque de escalada de privilegios. Pasos de Explotación
Conéctese al contenedor Docker alojado en su máquina y obtenga acceso root.
Dentro del contenedor, establezca el bit setuid en /bin/bash con el siguiente comando: chmod u+s /bin/bash
En el sistema host, ejecute el script de exploit proporcionado (poc.sh) clonando el repositorio y ejecutando el script de la siguiente manera:
git clone https://github.com/UncleJ4ck/CVE-2021-41091
cd CVE-2021-41091
chmod +x ./poc.sh
./poc.sh
Probado en la versión del motor docker 20.10.5+dfsg1
Es crucial actualizar Docker a la versión 20.10.9 o superior para abordar esta vulnerabilidad.