🔥Adquiere tu membresía:  acceso a todos los cursos, videos eliminados, contenidos protegidos, manuales y más. >> Ver Más

SaltStack revela nuevas vulnerabilidades críticas – ¡Debes parchear ahora!

SaltStack, una empresa propiedad de VMware, ha revelado vulnerabilidades críticas que afectan a las versiones 3002 y anteriores de Salt. Los parches están disponibles a partir de hoy.

Salt es una solución de gestión de infraestructura tecnológica de código abierto escrita en Python. Es ampliamente utilizada por los centros de datos de todo el mundo.

Por lo tanto, se recomienda a los usuarios que parcheen sus instancias de Salt de inmediato.

De la inyección de shell a la evasión de autenticación

Las tres vulnerabilidades reveladas hoy son las siguientes, con su gravedad mencionada en los respectivos paréntesis:

  • CVE-2020-16846 (Alta/Crítica) ha sido descrita por el equipo de Salt como una vulnerabilidad de inyección de shell. Esta fue parcheada al eliminar la opción `shell=True` al llamar a “subprocess.call” en un cliente SSH de SaltStack.

    El módulo de subproceso de Python te permite generar nuevos procesos en el sistema. Llamar a la opción con un comando construido a partir de la entrada de un usuario externo y con la opción `shell=True` es el problema. Es una amenaza de seguridad conocida.
La línea 49 tiene la opción “shell = True” eliminada para evitar ataques de inyección de shell

Como se muestra arriba, la solución oficial publicada por el proyecto dice: “Dejen de llamar a Popen con shell=True. Esto para evitar ataques de inyección de shell en el cliente netapi salt-ssh”.

  • CVE-2020-25592  (Alta/Crítica) es una vulnerabilidad de evasión de autenticación, pero la corrección publicada para el mismo también menciona otro identificador misterioso, CVE-2020-16804.

    “CVE-2020-16804: valide correctamente las credenciales y tokens de eauth junto con sus ACL”, afirma la corrección aplicada para CVE-2020-25592.

    La confirmación establece además: “Antes de este cambio, eauth no se validaba correctamente al llamar a Salt ssh a través de salt-api. Cualquier valor para ‘eauth’ o ‘token’ permitiría a un usuario evadir la autenticación y hacer llamadas a Salt ssh”.

    Un caso de prueba proporcionado por los desarrolladores del proyecto confirma que en las versiones parcheadas, los datos de autenticación falsos deberían hacer que las aplicaciones de Salt arrojen excepciones. Esto en lugar de pasar las comprobaciones de autenticación.
  • CVE-2020-17490 (Bajo) se refiere a un problema de permisos, más bien al modo de acceso, al abrir/guardar archivos de clave privada criptográfica.

Solución

“Este CVE afecta a los Minions o Masters que hayan utilizado anteriormente las funciones create_ca, create_csr y create_self_signed_cert en el módulo TLS”. Esto es lo que se lee en el aviso del 3 de noviembre que se vincula a continuación.

“Cuando se utilizan las funciones create_ca , create_csr y create_self_signed_cert en el módulo de ejecución tls se genera el problema. No se garantiza que la clave se haya creado con los permisos correctos. Con la corrección CVE, las claves ya no se crean con permisos legibles en todo el mundo y usan 600,” continúa el aviso.



El problema se solucionó reemplazando el indicador ʻos.O_WRONLY` (solo escritura) al abrir las claves SSH con el indicador ʻos.O_RDWR` (lectura-escritura).

Cronograma de divulgación confuso

Si bien las vulnerabilidades se revelaron hoy, vale la pena señalar que las correcciones para las tres vulnerabilidades se revelaron a GitHub mucho antes.

Por ejemplo, la corrección para CVE-2020-16846 se envió a GitHub el 18 de agosto. Los casos de prueba del cliente Salt para la vulnerabilidad de inyección de shell también mencionan múltiples ID de Zero-Day Initiative (ZDI), como ZDI-CAN- 11143. Sin embargo, la fecha del informe original sobre este identificador es junio de 2020, como se muestra a continuación.

ZDI-CAN-11143 reportado a través de Zero Day Initiative a SaltStack al 2 de junio de 2020

El aviso del 3 de noviembre atribuye el descubrimiento de CVE-2020-16846 y CVE-2020-17490 a KPC de Trend Micro Zero Day Initiative. Ellos habían informado de múltiples vulnerabilidades de ZDI en junio de 2020.

No está claro por qué SaltStack publicó los CVE y los corrige públicamente en GitHub antes de revelarlos públicamente. Esto porque los actores de amenazas podrían haber abusado de esto para crear exploits.

Como observamos a partir de hoy, Shodan enumera más de 6,000 nodos Salt Master expuestos a Internet. No todos pueden ejecutar las últimas versiones parcheadas.

Shodan muestra 6,138 nodos SaltStack expuestos

SaltStack avisa anticipadamente

El 30 de octubre, SaltStack había publicado un aviso de seguridad que   indicaba que estos CVE llegarían este día de elecciones.

La divulgación parcial anticipada sobre estas vulnerabilidades críticas es un movimiento cauteloso por parte de SaltStack. Esto dado los ataques generalizados que habían afectado a las instancias vulnerables de Salt a principios de este año.

“Esperamos que dos de estas vulnerabilidades se califiquen como altas/críticas y se espera que la otra sea baja según el Common Vulnerability Scoring System (CVSS). Una vez que SaltStack se dio cuenta de las vulnerabilidades, rápidamente tomamos medidas para remediarlas”.

Aviso del 30 de octubre.

Las divulgaciones parciales se están convirtiendo cada vez más en la norma para el software de código abierto.

Avisar a todo el mundo da tiempo para que las instancias vulnerables se remienden antes de que los adversarios puedan aprovechar las vulnerabilidades en el entorno.

Las versiones corregidas incluyen 3002.13001.3 y 3000.5 según la rama de Salt que estés utilizando. La compañía también ha puesto a disposición parches para versiones anteriores, como 2019.x. 

SaltStack ha proporcionado algunos consejos adicionales sobre cómo fortalecer tus instancias de Salt. Además, debes de parchear las nuevas vulnerabilidades que pueden descubrirse de vez en cuando.

Sigue siendo cuestionable, a pesar de hacer una divulgación parcial anticipada, si el día de las elecciones es el momento adecuado para revelar vulnerabilidades críticas. Esto especialmente considerando que las versiones corregidas también se han lanzado hoy, coincidiendo con la divulgación completa. 

Los usuarios pueden descargar las versiones corregidas de las descargas de PyPI a partir de ahora. También hay más información disponible en el aviso del 3 de noviembre de 2020.

Deja un comentario

Adquiere tu Membresía Anual Wiser

Adquiere tu Membresía Anual Wiser y adquiere grandes beneficios

Más información