Importante vulnerabilidad en Bash y otros interpretes de comandos

Se acaba de publicar una vulnerabilidad importante en Bash y otros interpretes de comandos como zsh, tcsh, csh y ksh. Se ha idnetificado con el registro: CVE-2014-6271 y seguro que dará mucho que hablar los próximos días. Esta vulnerabilidad permite ejecutar comandos debido al incorrecto procesado de las variables de entorno, en determinadas circunstancias, esto puede ser explotable remotamente. El problema reside en que bash permite la declaración de funciones y por lo visto no son validadas correctamente cuando son almacenadas en una variable.

keep-calm-and-bin-bash

Para declarar una función en bash se hace de la siguiente manera:

Si esto lo ejecutamos podemos ver esto:

Pero por desgracia bash procesa todo el contenido de la variable y continua ejecutando incluso cuando termina la función:

En la prueba anterior, se esperaba que únicamente se mostrase “Prueba”, pero acaba procesando el echo de “Adios mundo”. Esto tiene implicaciones en servicios remotos, en especial en páginas web con CGIs que leerán las variables enviadas por el cliente como cabeceras (y que pueden contener comandos) y ejecutarán su contenido cuando se invoque bash. Explotar CGIs escritos en bash será trivial y aunque parezca mentira, existen miles.

Otras implicaciones conocidas hasta ahora, pero que seguro que aumentan estos días, son:

  • Uso en ForceCommand de SSH para limitar capacidades de ejecución de comandos
  • Otros CGI (como php, perl, etc) que lancen subshells con llamadas del tipo system()
  • Clientes DHCP que lancen shells.
  • Herramientas y aplicaciones con SUID que invoquen bash para alguna acción.
  • Sistemas móviles que utilicen bash, como Android
  • Otros sistemas con Linux, como routers (que generalmente lanzan pings, traceroutes, etc), modems, televisores, etc..

Algunos como GNU Bash, Redhat/Fedora, CentOS, Debian, Ubuntu y Novel/SuSE ya han publicado las actualizaciones. Yo acabo de actualizar mi Kubuntu y ya existía un parche que esperemos que lo solucione.

bash

Fuente: Segu-Info

El contenido de esta entrada está bajo licencia Creative Commons

Zagur

Técnico Superior de Administración de Sistemas. Estudiando actualmente Desarrollo de aplicaciones web. #GNU #Linux #CSS #HTML #Python #SoftwareLibre #OpenSource

Utilizamos cookies propias y de terceros para mejorar nuestros servicios. Si continúa navegando, consideramos que acepta su uso. Doble clic sobre aquí para cerrar.