Una nueva escalada de privilegios local ha sido encontrada y categorizada como crítica. El motivo por el cual toda la gente está hablando de ella es porque afecta a psexec, una utilidad para ejecutar programas que viene preinstalado y configurado como SUID en la mayoría de las distribuciones actuales de Linux.

La vulnerabilidad, descubierta por el equipo de investigación de Qualys y con identificador CVE-2021-4034, es posible debido a una mala gestión de los parámetros en una de las funciones del programa lo que provoca que termine intentando ejecutar variables de entorno como comandos. De este modo, un atacante puede crear una variable de entorno con un comando y forzar a psexec a que lo ejecute. 

Se trata de una vulnerabilidad muy fácilmente explotable que permite a cualquier usuario del sistema conseguir ser root. Todas las versiones de polkit desde 2009 son vulnerables.

A continuación os dejamos un enlace al código que hemos utilizado en la anterior imagen para explotar la vulnerabilidad.

 
¿Cómo solucionar el problema?

Si eres Blue Team y no estas leyendo este post porque eres un malvado que quiere hacer el mal, querrás saber como protegerte ante este tipo de ataque. Para ello tienes dos opciones:

Actualizar todas las distribuciones de Linux que proporcionan un backport de la corrección (reinicio necesario):

  • Ubuntu 14.04 y 16.04 ESM.
  • Ubuntu 18.04, 20.04 y 21.04.
  • RedHat en productos Workstation y Enterprise para arquitecturas soportadas, así como para el apoyo al ciclo de vida ampliado, TUS y AUS.
  • Debian Stretch, Buster, Bellseye, unstable.

O si quieres una solución temporal más rapida, modificar el SUID psexec con el siguiente comando.

chmod 0755 /usr/bin/pkexec