Una vulnerabilidad en Bash siembra el pánico

Terminator-Custom-Layout-configuration-screenshot

El pasado día 24 se descubrió una importante vulnerabilidad de seguridad en la GNU Bourne Again Shell, más conocida como Bash. Por si alguien no lo sabe, Bash es la terminal por defecto de la gran mayoría de sistemas operativos Linux y basados en Unix, lo que incluye a los BSD y a OS X. Esta vulnerabilidad, que ya empieza a ser conocida como Shellshock, puede dejar esos sistemas operativos listos para ser atacados por usuarios malintencionados.

Según han advertido desde Red Hat, este problema es especialmente peligroso al haber muchas maneras distintas a través de las cuales Bash puede ser llamada por cualquier rutina de una aplicación. Para que te hagas una idea, el script conky te devuelve un resultado en el entorno gráfico, pero todo su backend funciona sobre Bash. Es un ejemplo tonto, pero te sirve para tener una idea de hasta dónde llega el alcance del problema.

El error ha sido descubierto Stephane Schazelas, y está relacionado con cómo Bash procesa variables del entorno pasadas por el sistema operativo o por un script de llamada escrito en Bash. Si Bash está configurada como la shell del sistema por defecto, puede ser usada por atacantes que usen Internet contra servidores y otros dispositivos Linux y Unix a través de peticiones de servicios web, SSH, sesiones de telnet u otros programs que usan Bash para ejecutar scripts, como comentamos algo más arriba.

Comparable con Heartbleed

Debido a su amplia distribución, la vulnerabilidad podría afectar a tantos dispositivos como Heartbleed, aunque puede que no sea ni la mitad de peligrosa. El agujero afecta a versiones de Bash que abarcan desde la versión 1.14 a la 4.3, y las principales distribuciones Linux ya han liberado parches para Red Hat, Fedora, CentOS, Ubuntu y Debian.

OS X 10.9.4 Mavericks también sufre esta vulnerabilidad de Bash. Apple aún no ha hecho nada para corregir el error mientras escribo esto.

Aunque en ocasiones se piensa en Bash como en una shell local, también se usa de forma frecuente por Apache para ejecutar contenidos gráficos generados por ordenador. Hay otros servicios que funcionan bajo Linux y Unix afectados por esta vulnerabilidad, como el servidor de impresión CUPS, que también dependen de Bash de forma similar.

Para saber si tu sistema es vulnerable a Shellshock, abre una terminal y ejecuta los siguientes comandos:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

Si el sistema es vulnerable, la salida que debería darte debería ser algo así:

vulnerable
 this is a test

Un sistema que no fuese vulnerable tendría que entregar una salida parecida a esta:

bash: warning: x: ignoring function definition attempt
 bash: error importing function definition for `x'
 this is a test

Como comentábamos antes, las distintas distribuciones mayores ya han recibido parches para Bash, con lo que es de suponer que las derivadas, siempre y cuando estén bien mantenidas, deberían recibirlos pronto.

Las últimas horas de Shellshock

Un buen número de empresas de seguridad están reportando ataques basados en Shellshock que actualmente están en curso. Algunas empresas de seguridad como Blue Coat están viendo botnets con código de ataques de denegación de servicio distribuidos (DDoS) que intentan utilizar esta vulnerabilidad en sus ataques, y esperan que el tráfico de estos continúe aumentando.

De momento y aunque las principales distribuciones ya han conseguido parchear el problema, parece ser que este tipo de ataques van a seguir aumentando durante las próximas horas. Daremos más información sobre Shellshock conforme los acontecimientos se desarrollen.

Visto en: Ars Technica

2 comentarios

  1. Ecron
    • Sergio Agudo