El comando de prueba
x='() { :;}; echo vulnerable' bash
muestra que mi instalación de Debian 8 (Jessie) es vulnerable, incluso con las últimas actualizaciones. La investigación muestra que hay un parche para estable e inestable, pero que las pruebas no tienen parches.
Supongo que el parche llegará a prueba en un par de días, pero en realidad esto parece lo suficientemente desagradable como para ser paranoico. ¿Hay alguna forma de obtener el paquete de inestable e instalarlo sin romper mi sistema? Parece que actualizar a inestable causará más problemas de los que resuelve.
Según Bob, hay una segunda vulnerabilidad de Shellshock, que se corrige en un segundo parche. Se supone que la prueba es:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
Pero no tengo la habilidad suficiente en Bash para entender qué significa esto o por qué es un problema. En cualquier caso, hace algo extraño, que se impide mediante bash_4.3-9.2_amd64.deb en sistemas de 64 bits, que en el momento de la edición es estable e inestable, pero no en Jessie / testing.
Para arreglar esto para Jessie , obtenga el último Bash de inestable e instálelo con dpkg -i
.
Jemenake ofrece
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb
como un comando que obtendrá la versión 4.3-9.2 para su máquina.
Y puedes seguir eso con:
sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb
para instalarlo
Si necesita más parches inestables para su sistema Jessie , este es claramente el camino a seguir ( mutatis mutandis ).
fuente
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture).deb
obtenerlo , intente: obtendrá la arquitectura correcta para su caja.Edité esta respuesta para las correcciones de bash adicionales que se lanzaron el lunes.
Para Ubuntu 12.04, ejecuté una actualización, pero también tuve que ejecutar la instalación de bash para eliminar la vulnerabilidad.
Ese comando muestra que el sistema es vulnerable, así que ejecute la actualización.
Prueba de nuevo.
Aún vulnerable.
Prueba de nuevo.
Editar: después de que se lanzaron los parches adicionales, la salida ha cambiado.
¡Hurra! Fijo. Esto debería funcionar para otras versiones, pero no lo he probado más allá de 12.04.
Además, la respuesta de runamok a continuación funciona bien, ¡así que dale un voto positivo!
fuente
apt-get update && apt-get install -y bash
parece funcionar.this is a test
pero no el error y la advertencia. En mi máquina local recibo el error, pero en mi servidor no. ¿Qué significa eso? ¿Mi servidor está parcheado? Gracias.Una alternativa para Debian 6.0 (Squeeze) sin obtener paquetes de Debian 7 (Wheezy):
Use el repositorio de seguridad LTS que tiene el parche respaldado.
Agregue esto a
/etc/apt/sources.list
:Entonces corre
apt-get update && apt-get install bash
.Vía: linuxquestions
fuente
apt-get update
antesapt-get dist-upgrade
y obtendrás el parche. Simplemente lo hice yo mismo y hubo una actualización de bash que solucionó el problema.fuente
Lo arreglé en mi Hackintosh :
$ brew install bash
fuente
He escrito un artículo sobre cómo hacer esto con apt-get en versiones antiguas de Ubuntu. Básicamente actualiza su sources.list a la más nueva y luego ejecuta apt-get update y upgrade bash. Puede leerlo paso a paso o copiarlo desde aquí .
Resumen:
Lea el artículo si usa old-releases.ubuntu.com y no olvide que es posible que desee volver a cambiarlo:
fuente
La versión fija (vea el registro de cambios ) para el paquete Bash está en Debian 8 (Jessie) ahora (vea la información del paquete ), a partir del 26/09/2014 14:18 UTC.
La segunda solución, mencionada en los comentarios a continuación, también está en Jessie repositorio de . No hay necesidad de instalar desde inestable. Vea el enlace de información del paquete arriba.
Ya no hay necesidad de instalar desde inestable.
Solo corre:
seguido por:
Luego verifique que la vulnerabilidad haya desaparecido (en un shell recién abierto):
fuente
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
: si se imprimestill vulnerable
, entonces la última vuln aún no está parchada. AFAIK, Jessie sigue siendo vulnerable. Tenga en cuenta que ese comando creará un archivo con nombreecho
en el directorio actual si tiene éxito, y deberá eliminarlo antes de volver a ejecutar la prueba.