Un bug en Bash vulnera la seguridad de sistemas Linux, Unix y OS X

1, 2, 3
El ingeniero Stéphane Chazelas ha descubierto una importante vulnerabilidad en el shell GNU Bash que permite ejecutar código de forma remota. Este programa es el intérprete de comandos por defecto en múltiples distribuciones de Linux y en otros sistemas Unix, incluyendo a OS X de Apple

El investigador de seguridad Robert Graham ha asegurado que el bug es una "amenaza tan grande como Heartbleed" debido a la extensión, antigüedad y características del problema. De forma similar a la vulnerabilidad de OpenSSL, restaurar la seguridad de Bash requiere parchear una gran cantidad de aparatos, entre los que se incluyen dispositivos IoT (Internet of Things) como videocámaras.

"Un enorme porcentaje del software interactúa con el shell de alguna forma", escribe Graham en su blog. "Por lo tanto, nunca seremos capaces de catalogar todo el software que hay por ahí vulnerable al bug de Bash. […] El número de sistemas que se deben parchear, y que no lo harán, es mucho más grande que con Heartbleed".

Por el momento, las populares distros Red Hat, Fedora, Ubuntu y Debian ya han publicado sendos parches para evitar el llamado "Bug Bash" o "Shellshock". Mientras tanto, Apple todavía no ha afrontado la vulnerabilidad en OS X, aunque ha lanzado recientemente una actualización para las "herramientas de línea de comandos".

El blog de seguridad de Red Hat ha confeccionado un pequeño test para comprobar si un sistema es vulnerable. Para realizar la prueba tan solo es necesario abrir una línea de comandos y escribir el siguiente código:

env x='() { :;}; echo vulnerable' bash -c "echo esto es un test"

Si el sistema es vulnerable, el retorno será el siguiente:

vulnerable
esto es un test

Mientras que en caso negativo se podrá leer:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
esto es un test
Joe, ni los sistemas Unix se salvan de bugs. Mucho ojo gente!
Acabo de probarlo en cyanogenmod 11 (en la aplicacion terminal que viene instalada por defecto) y solamente me sale "this is a test", ni vulnerable, ni los mensajes de error...

edit: Vale, lo habia copiado mal, si que dice que es vulnerable
segun he leido por mi distro, el parche propuesto todavia es incompleto.a la espera de un parche más refinado

el test ese yo lo paso OK (parcheado ayer)
mas afectados si, pero necesitas tener acceso a la máquina para liarla
No se salva ni unix ya de los bugs...
pero es un bug de bash, no del sistema operativo base
Un bug para controlarlos a todos...
Vale os confirmo que OS X 10.9.4 es vulnerable, lo acabo de probar.

Menuda gracia :o

Tendré que actualizar a la 10.9.5 que está disponible ya a ver que pasa.
Mañana que tengo tiempo lo haré.

Saludos.
(mensaje borrado)
ooyamaneko escribió:Vale os confirmo que OS X 10.9.4 es vulnerable, lo acabo de probar.

Menuda gracia :o

Tendré que actualizar a la 10.9.5 que está disponible ya a ver que pasa.
Mañana que tengo tiempo lo haré.

Saludos.


10.9.5 también vulnerable. Lo acabo de probar ahora mismo :)

A esperar a ver cuándo se decide Apple a lanzar un parche para ésto.

Saludos,
nserbass escribió:
ooyamaneko escribió:Vale os confirmo que OS X 10.9.4 es vulnerable, lo acabo de probar.

Menuda gracia :o

Tendré que actualizar a la 10.9.5 que está disponible ya a ver que pasa.
Mañana que tengo tiempo lo haré.

Saludos.


10.9.5 también vulnerable. Lo acabo de probar ahora mismo :)

A esperar a ver cuándo se decide Apple a lanzar un parche para ésto.

Saludos,


Gracias! Esperemos que no tarde mucho, no me apasiona nada andar con un bug conocido en el ordenador. Remarco conocido porque a saber cuantos desconocidos tenemos [360º] .
Sería interesante saber cómo se podría explotar esta vulnerabilidad.

Con un programa asqueroso que te hayas instalado tu?
Si dicen "remoto"? Por algún programa que tenga un puerto abierto en el ordenador?

La gravedad práctica de esta vulnerabilidad es más importante que la magnitud de las cosas que puedas afectar teóricamente.

[bye]
Que yo sepa, para poder explotar este bug, es necesario disponer de acceso a la máquina, ¿no?

Porque sin acceso a la máquina no vas a poder ejecutar el bash en tu vida por muchos bugs que tenga
sudo apt-get update && apt-get upgrade y listo en Linux Mint 17, ya está la actualización que lo soluciona (lo he comprobado vamos)
Los que tenemos Mac OSX nos dan un poco por saco, no? :(
jandujar escribió:Que yo sepa, para poder explotar este bug, es necesario disponer de acceso a la máquina, ¿no?

Porque sin acceso a la máquina no vas a poder ejecutar el bash en tu vida por muchos bugs que tenga

O por ssh o telnet
Lo acabo de probar, Manjaro vulnerable también. A la espera de la actualización, que acabo de mirar y ya está, solucionado, jeje.

pintxoj escribió:Un bug para controlarlos a todos...


Me he descojonao con eso, jajaja, buenísimo!!
Ubuntu vulnerable, pero con tal que actualizas se soluciona.
SwapNewbie escribió:Sería interesante saber cómo se podría explotar esta vulnerabilidad.

Con un programa asqueroso que te hayas instalado tu?
Si dicen "remoto"? Por algún programa que tenga un puerto abierto en el ordenador?

La gravedad práctica de esta vulnerabilidad es más importante que la magnitud de las cosas que puedas afectar teóricamente.

[bye]


Con algun servicio que tire de bash podria ser ejecutable quizas. cups por ejemplo?
momo@mahodo:~$ env x='() { :;}; echo vulnerable' bash -c "echo esto es un test"bash: aviso: x: ignoring function definition attempt
bash: error al importar la definición de la función para `x'
esto es un test

Parece ser que no tenia nada el mio :)
Lo que tienes es un error de sintaxis, si no fueras vulnerable con una sintaxis correcta, tendria que salirte "esto es una prueba" por pantalla, no un error de sintaxis de bash xD
SwapNewbie escribió:Sería interesante saber cómo se podría explotar esta vulnerabilidad.

Con un programa asqueroso que te hayas instalado tu?
Si dicen "remoto"? Por algún programa que tenga un puerto abierto en el ordenador?

La gravedad práctica de esta vulnerabilidad es más importante que la magnitud de las cosas que puedas afectar teóricamente.

[bye]


cups, apache, ssh, telnet, etc

Pero da igual, que no cunda el pánico, todo actualizado y seguro a escasas 12 horas de la primera voz de alarma. Y fallo descubierto a escasos 5 dias del lanzamiento del nuevo sistema (in)operativo de Microsoft . Casualidad? [carcajad]
Lupi escribió:Los que tenemos Mac OSX nos dan un poco por saco, no? :(



No tranquilo, os dan por bash [jaja]


Actualizando los paquetes de bash en linux se va el problema, supongo que en mac será igual...
Pásate a Linux decían...Es seguro...
Acabo de actualizar en Crunchbang y pasa el test.
En Xubuntu 14.04, el resultado que sale es que no soy vulnerable (tengo activadas las actualizaciones automáticas).
Esta tarde probare a ver si mi pc con linux (ubuntu) pasa el test, al final contra màs masivo es el uso de los sitemas más vulneravilidades aparecen.
Klaudcito escribió:Pásate a Linux decían...Es seguro...

bash no es linux
Klaudcito escribió:Pásate a Linux decían...Es seguro...


Y en 12 horas se ha solucionado el bug en todas las distros importantes XD ese es el poder de Linux. En cuanto se encuentra un bug es inmediatamente erradicado, porque cualquiera puede arreglarlo. Software libre :)
Klaudcito escribió:Pásate a Linux decían...Es seguro...


Igualito corrigen las vulnerabilidades como en Windows xD
La pregunta de oro, ¿cuanto del asunto afecta al nucleo de IOS, android y demas?, ya que por ejemplo android tiene en su corazon linux.
silfredo escribió:La pregunta de oro, ¿cuanto del asunto afecta al nucleo de IOS, android y demas?, ya que por ejemplo android tiene en su corazon linux.

El sistema operativo es irrelevante. El problema es que un programa llamado "bash" esté instalado, y sea utilizado por programas de cierta forma.

EDIT: para ser más claro aún: si en tu teléfono puedes ejecutar bash, podrías ser vulnerable. si instalas bash en tu Windows 7 (gracias a cygwin, por ejemplo), podrías ser vulnerable. En OSX bash viene instalado por defecto ==> podrías ser vulnerable. Tener un bash instalado no implica necesariamente que tu equipo sea explotable, pero en las proximas horas/dias seguro que hay gente investigando para conseguir que sea explotable, asi que ante la ignorancia de qué hay ahí fuera, lo mejor es actualizar.

En concreto, si un programa (como un servidor web, por ejemplo) utiliza bash (por ejemplo, si tu web hecha en php corre algún script bash, para lo que sea), un atacante podría apañarselas para que navegando en tu web, ese bash acabe ejecutando lo que él quiera.

Se rumorea que sería posible explotarlo también a traves de dhclient, que es un programa comunmente utilizado para conseguir tu IP de red local. Dhclient utiliza bash para cambiar tu configuración de red, y si alguien pone un servidor DHCP malicioso en tu red local, podría conseguir que el bash usado por dhclient ejecute cualquier cosa que quiera.

Es decir, te montas una raspberry con un servidor dhcp malicioso, lo escondes enchufado a la red local de algún sitio (tu propia casa, la de otra persona, una oficina... whatever), y con eso podrias potencialmente llegar a ejecutar lo que quieras en los equipos afectados de esa red.
Nirgail escribió:Joe, ni los sistemas Unix se salvan de bugs. Mucho ojo gente!


Nada es perfecto.
Actualizado bash en la raspbian, soluciona parcialmente el error. En OS X 10.10 (Yosemite) está sin parchear.
Mi PC con Lubuntu también arrastraba el bug según el testeo que indicáis en la noticia.

Actualizado el sistema ipso facto y solucionado.
Asuka-S escribió:
Klaudcito escribió:Pásate a Linux decían...Es seguro...


Igualito corrigen las vulnerabilidades como en Windows xD


Que sí, que sí, pero cuando uno está hasta los cojones de escuchar lo segurísimo que es Linux y tal y cual, y cuando salta una noticia de estas siempre estamos con: para que sea útil hay que tener acceso a tal o cual, no es lo mismo, etc etc.

Si esto sirve para que algún talibán de Linux se corte un poco a la hora de dar la turra, bienvenido sea (y sí, Windows es multitud de veces más inseguro que Linux, pero en último término la seguridad de un sistema SIEMPRE recae en la prudencia del usuario. Si hasta ahora Linux ha sido seguro en general, es porque la mayor parte de los usuarios inexpertos se han quedado en Windows, ni más ni menos).

Si a alguien imprudente le da por instalar software a lo loco en Linux, su máquina será un coladero igualito que el de Windows.

EDIT: Por cierto, alguien ha probado en la última versión de Mint? Si no, lo pruebo yo en 10 minutos y os comento.
Parece que la vulnerabilidad tiene tiempo, y el que lo descubrió estaba esperando a los parches para hacerlo oficial, de ahí que se haya actualizado tan rápido.
OSX 10.10 también es vulnerable en su ultima build.

De todas formas, tiene solución fácil:

-Requisitos:
*tener bash en version 3.2.51(1)-release (x86_64-apple-darwin14) o inferior
terminal > bash --version
*tener Xcode instalado (gratis en la App Store)

-Metodo:
mkdir parchebash
cd parchebash
curl https://opensource.apple.com/tarballs/b ... -92.tar.gz | tar zxf -
cd bash-92/bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3 ... bash32-052 | patch -p0
cd ..
xcodebuild
sudo cp /bin/bash /bin/bash.old
sudo cp /bin/sh /bin/sh.old
build/Release/bash --version # GNU bash, version 3.2.52(1)-release
build/Release/sh --version # GNU bash, version 3.2.52(1)-release
sudo cp build/Release/bash /bin
sudo cp build/Release/sh /bin
sudo chmod a-x /bin/bash.old /bin/sh.old

Notas: puede ser que tengas mas de un bash (Macports, Homebrew) que parchar con sus respectivos sistemas.

Metodo 2:
-Instalar zsh con Homebrew que mola más
-Modificar el usuario para que zsh sea el shell por defecto, con
chsh -s /usr/local/bin/zsh
bartletrules escribió:
Asuka-S escribió:
Klaudcito escribió:Pásate a Linux decían...Es seguro...


Igualito corrigen las vulnerabilidades como en Windows xD


Que sí, que sí, pero cuando uno está hasta los cojones de escuchar lo segurísimo que es Linux y tal y cual, y cuando salta una noticia de estas siempre estamos con: para que sea útil hay que tener acceso a tal o cual, no es lo mismo, etc etc.

Si esto sirve para que algún talibán de Linux se corte un poco a la hora de dar la turra, bienvenido sea (y sí, Windows es multitud de veces más inseguro que Linux, pero en último término la seguridad de un sistema SIEMPRE recae en la prudencia del usuario. Si hasta ahora Linux ha sido seguro en general, es porque la mayor parte de los usuarios inexpertos se han quedado en Windows, ni más ni menos).

Si a alguien imprudente le da por instalar software a lo loco en Linux, su máquina será un coladero igualito que el de Windows.

EDIT: Por cierto, alguien ha probado en la última versión de Mint? Si no, lo pruebo yo en 10 minutos y os comento.


Sí, lo que tú digas... Mi suegra es "igual" de prudente con Windows xp que con elementary OS, y la diferencia de mierda que tenía antes con Windows a lo que tiene ahora pues... Es abismal, y no, ella no va instalando de todo porque no tiene ni idea...

Que tú veas esta vulnerabilidad como algo a lo que agarrarte para asemejar la seguridad de ambos sistemas no quiere decir que sea la realidad, de hecho, cuando más se nota la seguridad de uno con respecto al otro es cuando más inexperto es el usuario...

Yo no soy talibán, uso Windows a diario, eso sí, en una máquina virtual bajo OS X y sin acceso a Internet.
excess escribió:
bartletrules escribió:Que sí, que sí, pero cuando uno está hasta los cojones de escuchar lo segurísimo que es Linux y tal y cual, y cuando salta una noticia de estas siempre estamos con: para que sea útil hay que tener acceso a tal o cual, no es lo mismo, etc etc.

Si esto sirve para que algún talibán de Linux se corte un poco a la hora de dar la turra, bienvenido sea (y sí, Windows es multitud de veces más inseguro que Linux, pero en último término la seguridad de un sistema SIEMPRE recae en la prudencia del usuario. Si hasta ahora Linux ha sido seguro en general, es porque la mayor parte de los usuarios inexpertos se han quedado en Windows, ni más ni menos).

Si a alguien imprudente le da por instalar software a lo loco en Linux, su máquina será un coladero igualito que el de Windows.

EDIT: Por cierto, alguien ha probado en la última versión de Mint? Si no, lo pruebo yo en 10 minutos y os comento.

Sí, lo que tú digas... Mi suegra es "igual" de prudente con Windows xp que con elementary OS, y la diferencia de mierda que tenía antes con Windows a lo que tiene ahora pues... Es abismal, y no, ella no va instalando de todo porque no tiene ni idea...

Que tú veas esta vulnerabilidad como algo a lo que agarrarte para asemejar la seguridad de ambos sistemas no quiere decir que sea la realidad, de hecho, cuando más se nota la seguridad de uno con respecto al otro es cuando más inexperto es el usuario...

Yo no soy talibán, uso Windows a diario, eso sí, en una máquina virtual bajo OS X y sin acceso a Internet.


Yo no he equiparado en ningún momento el nivel de seguridad de uno y otro -eso sería de necios-.

Lo que sí me cansa son los que se empeñan en grabar a sangre y fuego que Linux, Unix, BSD y demás son INATACABLES (así, con mayúsculas).

Si tú no estás entre ellos, pues mi mensaje claramente no iba para tí (y aclaro, tampoco iba por el usuario al que cité, simplemente lo tomé como punto de partida para decir lo que quería).

Saludos

PD: La última versión de Mint Cinammon también era vulnerable, por cierto.
bartletrules escribió: Lo que sí me cansa son los que se empeñan en grabar a sangre y fuego que Linux, Unix, BSD y demás son INATACABLES (así, con mayúsculas).


Está claro que eso también es de necios. (Incluído OsX)

Saludos.
Actualizado el servidor Debian 7, he pasado el test da el output de no vulnerable.
Nose... me sonó todo tan raro raro que me he puesto a mirar un poquito el tema... y mi neurona no me da para más.... Me he leido la noticia en EOL... y en serio... o igual lo contrario... se parece lo que un cojón a un cubo. Veo que esto ha ido creciendo y creciendo hasta que ha llegado aquí....

Voy a explicar lo que he leído... y algien con carácter didactico (que no dictatorial) me explique en qué sitio me he perdido.

A) El problema parece que parte del bash. En la definición de una variable de entorno en el shell Bash.
B) Según lo que se publica (test incluido) el problema surge porque las variables de entorno permiten ejecutar código.
C) La prueba hace uso de la comilla simple....
D) Potencialmente, se podría en teoría incluir codigo malicioso con dicho uso.

En las referencias que he encontrado, inicialmente se habla de la vulnerabilidad del sistema si fija esa variable de entorno. Pero luego empezaron a meter la palabra... remoto por todos lados... y ya la cabeza me empezó a dar vueltas... finalmente dicen que es muy complicado de arreglar y que está extendido por el universo conocido y más allá.


Ahora van mis preguntas que mi simple neurona no llega a entender....

A) Que yo sepa de toda la vida... el bash... cuando defines una variable de entorno, si le metes algo en comilla simple... lo ejecuta y punto.... directamente... pues es una definición del sistema.

Siendo esto así, a los que les da error la ejecución del test (no vulnerable), lamento decirles que si... parece que tienen un bash 'aparente mente robusto al fallo', pero tienen un mojón mierdoso de implementación, pues hasta el manual del bash dice claramente que tiene que ejecutarse y dar el valor del resultado de dicha ejecución a la variable.

B) Las ejecuciones son eso... ejecuciones... y claro, para definir la variable, hace falta previamente un acceso al bash. Es decir, tienes que tener acceso a él.

Efectivamente, hay programas que permiten desde una ventanita fijar variables de entorno, pero en ese caso. El que está fallando no es el bash, es el programa que permite por ejemplo meter unas comillas simples en vez de un path o ruta a un fichero y/o directorio.

C) Lo de remoto, me da un poco de pánico, pero en serio, que no lo veo por ningun lado... no se que tiene que ver ejecutar un/unos comandos en un bash a que puedan saltarse por la cara un protocolo y entrar a saco en tu ordenador (Heartbleed) y sin dejar rastro.

Aqui cuando alguien, programa con sus variables de entorno o usuario a saco en el bash mete comandos queda todo registrado a nombre del usuario que lo ha hecho. Con lo que de remoto, es que sigo sin verlo por ningún lado.

Se habla en algún momento de cgi o de ... er que??? cgi... aún hay webs o ordenadores con servidores usando cgi y creen que están seguros??? ummm no hace falta esta supuesta vulnerabilidad para saltar esa seguridad.

Por último pongo un link a donde se está discutiendo si realmente esto es o no una vulnerabilidad....

http://unix.stackexchange.com/questions ... t-insecure

Saludos
pirtugan escribió:Nose... me sonó todo tan raro raro que me he puesto a mirar un poquito el tema... y mi neurona no me da para más.... Me he leido la noticia en EOL... y en serio... o igual lo contrario... se parece lo que un cojón a un cubo. Veo que esto ha ido creciendo y creciendo hasta que ha llegado aquí....

Voy a explicar lo que he leído... y algien con carácter didactico (que no dictatorial) me explique en qué sitio me he perdido.

A) El problema parece que parte del bash. En la definición de una variable de entorno en el shell Bash.
B) Según lo que se publica (test incluido) el problema surge porque las variables de entorno permiten ejecutar código.
C) La prueba hace uso de la comilla simple....
D) Potencialmente, se podría en teoría incluir codigo malicioso con dicho uso.

En las referencias que he encontrado, inicialmente se habla de la vulnerabilidad del sistema si fija esa variable de entorno. Pero luego empezaron a meter la palabra... remoto por todos lados... y ya la cabeza me empezó a dar vueltas... finalmente dicen que es muy complicado de arreglar y que está extendido por el universo conocido y más allá.


Ahora van mis preguntas que mi simple neurona no llega a entender....

A) Que yo sepa de toda la vida... el bash... cuando defines una variable de entorno, si le metes algo en comilla simple... lo ejecuta y punto.... directamente... pues es una definición del sistema.

Siendo esto así, a los que les da error la ejecución del test (no vulnerable), lamento decirles que si... parece que tienen un bash 'aparente mente robusto al fallo', pero tienen un mojón mierdoso de implementación, pues hasta el manual del bash dice claramente que tiene que ejecutarse y dar el valor del resultado de dicha ejecución a la variable.

B) Las ejecuciones son eso... ejecuciones... y claro, para definir la variable, hace falta previamente un acceso al bash. Es decir, tienes que tener acceso a él.

Efectivamente, hay programas que permiten desde una ventanita fijar variables de entorno, pero en ese caso. El que está fallando no es el bash, es el programa que permite por ejemplo meter unas comillas simples en vez de un path o ruta a un fichero y/o directorio.

C) Lo de remoto, me da un poco de pánico, pero en serio, que no lo veo por ningun lado... no se que tiene que ver ejecutar un/unos comandos en un bash a que puedan saltarse por la cara un protocolo y entrar a saco en tu ordenador (Heartbleed) y sin dejar rastro.

Aqui cuando alguien, programa con sus variables de entorno o usuario a saco en el bash mete comandos queda todo registrado a nombre del usuario que lo ha hecho. Con lo que de remoto, es que sigo sin verlo por ningún lado.

Se habla en algún momento de cgi o de ... er que??? cgi... aún hay webs o ordenadores con servidores usando cgi y creen que están seguros??? ummm no hace falta esta supuesta vulnerabilidad para saltar esa seguridad.

Por último pongo un link a donde se está discutiendo si realmente esto es o no una vulnerabilidad....

http://unix.stackexchange.com/questions ... t-insecure

Saludos

eso mismo pienso yo, realmente para liarla necesitas acceso, y si tienes acceso, lo ejecutas como comandos xD
La verdadera seguridad de GNU/Linux se ve cuando hay este tipo de vulnerabilidades, desde que he leído este artículo he hecho el test y mi sistema ya no era vulnerable (actualizaciones de seguridad automáticas). El gran problema serían los sistemas no conectados y por tanto no actualizados pero, por lo mismo, se elimina de la ecuación lo del acceso remoto.

Igualito que el caso del iCloud con el #celebgate que al parecer era una vulnerabilidad conocida y publicada desde hacía 2 años (lo malo de la extrema facilidad para hacer todo es que un inepto puede manipular tus dispositivos y le debes dejar que no recuerde su clave y la prueba una y otra vez...)
Habrá buenos y no tan buenos sistemas para nuestras computadoras, pero ninguno va a ser perfecto eso a estas alturas ya lo tememos claro (supondria)... lo malo de todo esto es que salgan fanaticos radicales pero eso ya es otro cantar.
y que la obsesión nos lleve a la paranoia es otro tema.

Entre mas populares se hagan los sistemas seguiran apareciendo este tipo de cosas, para que ponernos alarmados y porque echar pestes a quienes usan otro u otros sistemas al que nos gusta porque basados en nuestras necesidades afirmemos que sea el mejor, Si estas en linux es porque ahi cubriste tus necesidades o Windows, solaris y OSX etc por eso estas ahi no? y por ahi hay comentarios tan paranoicos casi casi como... "yo soy maquero y odio windows y si lo uso lo hago desde maquina virtual encerrado en un bunker junto con mi ak-47 por si hay un ataque" que es eso...

cada sistema ofrece cosas buenas y no tan buenas que los demas OS y cada uno tiene tiene un numero mayor o menor de fallas, pero no por eso hay que estar echando madres. y yo si uso OSX win y linux porque se complementan para mis necesidades de trabajo y entretenimiento y los disfruto mucho.
101 respuestas
1, 2, 3