Un problema de seguridad en Bash deja Linux, OS X y otros sistemas vulnerables a un ataque

Investigadores de seguridad han encontrado una vulnerabilidad en Bash que afecta tanto a ordenadores con Linux como a OS X y a otras variantes de sistemas operativos que permite la ejecución de código tan pronto como se inicia la shell.

Bash (Bourne again shell) es un programa informático cuya función consiste en interpretar órdenes. Está basado en la shell de Unix y es compatible con POSIX.

Fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de GNU con Linux. Su nombre es un acrónimo de Bourne-Again Shell (otro shell bourne) — haciendo un juego de palabras (born-again significa renacimiento) sobre el Bourne shell(sh), que fue uno de los primeros intérpretes importantes de Unix. [Wikipedia]

Ya hay parches para múltiples variantes de Linux (CentOS, Debian, Red Hat), y los servicios de los grandes de Internet como Akamai ya han tomado medidas. Sin embargo, la edad y la ubicuidad de la vulnerabilidad implica que hay algunos servidores antiguos y otros dispositivos conectados a Internet que no (y en algunos casos, no pueden) ser parcheados contra esta vulnerabilidad.

Ejemplo de código malformado que afectaría a Bash

En otras palabras, hay una posibilidad de que “todo”, desde sitios web a una cámara de seguridad del hogar puedan ser (y sigan siendo) vulnerables. El problema de esta vulnerabilidad será menor para los usuarios aquellos dispositivos o desarrolladores de sistemas operativos que mantengan rutinas de actualizaciones de seguridad con frecuencia.

0 0 votos
Article Rating
Subscribe
Notify of
17 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
Rafa Espada
Rafa Espada
9 years ago

[modo irónico on]
Pero esto no es importante, lo realmente importante es el “celebgate”.
[modo irónico off]

erretxea
erretxea
9 years ago

En definitiva, ¿qué hemos de hacer? ¿Basta con tener OSX al día?

Alberto Lozano
Alberto Lozano
9 years ago

Ya hace dias que hay la actualización de bash… Para tokiski menos para Mac OS X.
En mis servidores centos me ha llevado menos de un minuto en cada uno: yum update bash y en un suspiro problema resuelto.
Más que un parche lo que se hace es sustituir bash por la versión más reciente.

vick21
vick21
9 years ago

#5 Es totalmente normal que en los Unix propietarios tarden más en actualizarse que en linux. Yo tengo la misma problemática en mis servidores AIX y no en los servidores linux que también gestionamos.

Santiago
Santiago
9 years ago

Lo confieso: hasta esta noticia, lo único que conocía de Bourne era

[IMG]http://i.imgur.com/NObyO6r.jpg[/IMG]

El único invulnerable.

Alberto Lozano
Alberto Lozano
9 years ago

De todas maneras en un equipo de escritorio esa vulnerabilidad no es problema para su usuario a no ser que lo tenga expuesto a Internet.
En cualquier caso compilar un bash en el Mac tampoco es cosa del otro jueves.

Por si a alguien le interesa compilar y parchear el bash, necesita tener instalado Xcode (y leerse la licencia si es la primera vez que se usa, si no se hace, no va) y seguir estos pasos desde terminal (copiad y pegad en terminal todo menos los $ que esos ya los pone el Mac 🙂 ):

$ cd ~
$ mkdir nuevo_bash
$ cd nuevo_bash
$ curl -k https://opensource.apple.com/tarballs/bash/bash-92.tar.gz| tar zxf –
$ cd bash-92/bash-3.2
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/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

Y comprobar usando…

$ env x='() { :;}; echo vulnerable’ bash -c “echo esto es un test”

…que aparece:
$ env x='() { :;}; echo vulnerable’ bash -c “echo esto es un test”
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
esto es un test
…lo que indica que el problema está resuelto

No debe de haber llevado más de cinco minutos y ya no hay que esperar a que Apple haga una actualización de seguridad.

Alberto Lozano
Alberto Lozano
9 years ago

¡Ah!, se me había olvidado. El proceso anterior deja las versiones antiguas en el ordenador renombradas con un sufijo .old
Si no las queréis mantener, las podéis borrar ya que aun se pueden ejecutar si se invocan. Están en el directorio /bin/ y son bash.old y sh.old

Alberto Lozano
Alberto Lozano
9 years ago

Ningun problema. Lo puedes convertir en lo que gustes, por ejemplo un cheque a ni nombre de un millon de euros :silbar:

Alberto Lozano
Alberto Lozano
9 years ago

#10, Carlos.
Por favor, en el artículo añade que el comando [i]xcodebuild[/i] tenga delante sudo, es decir
[i]sudo xcodebuild[/i]
Eso es una precaución por si el usuario se acaba de bajar el Xcode y si ejecuta [i]xcodebuild[/i] directamente, el sistema le meterá una bronca por no haberse leído el EULA.Y si ya tiene la EULA aceptada, usar el [i]sudo[/i] tampoco hace daño.
Con [i]sudo[/i] se ejecuta con privilegios y aparece el texto del EULA que hay que aceptar o rechazar, se acepta tecleando “accept” y a partir de ahí ya no debe de haber problema ni en este ni en futuros usos de xcodebuild

vick21
vick21
9 years ago

Pues creo que deberéis esperar un poco para ese articulo. El primer parche de este agujero de seguridad, ya es posible saltárselo:
[url]http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-7169[/url]
[url]https://twitter.com/taviso/status/514887394294652929[/url]

Yo lo acabo de comprobar en un linux recién parchado ejecutando (no se si se vera bien con lo de las comillas):
X='() { (a)=>’ bash -c “echo ls /etc; cat echo”

Alberto Lozano
Alberto Lozano
9 years ago

En cualquier caso la solución vendrá a ser la misma pero cambiando las versiones en los repositorios, no creo que tarde mucho en estar disponible.

Alberto Lozano
Alberto Lozano
9 years ago

$ env X='() { (a)=>’ sh -c “echo date”; cat echo
sh: X: line 1: syntax error near unexpected token `=’
sh: X: line 1: `’
sh: error importing function definition for `X’
sh: echo: Permission denied
viernes, 26 de septiembre de 2014, 10:42:44 CEST

Efectivamente crea un fichero propiedad de root llamado echo

Andrés
Andrés
9 years ago

Muchas gracias por el aporte, pero no he podido hacerlo en snow leopard y aunque se que esta fuera de soporte 🙁 por ahora sigo trabajando con él.

¿Cómo podriá parchear el bash en snow leopar? Más aún que es imposible instalar el xcode.

Seguí el link de #13 pero me he quedado pasmao, no sé por donde empezar.

Agradezco me puedan dar una mano

Saludos

17
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x