Ya no veo mensajes de advertencia de Bash para Shellshock después de la actualización

Ya no veo mensajes de advertencia de Bash para Shellshock después de la actualización

Acabo de actualizar Ubuntu desde una ventana emergente de Actualización. Conozco Shellshock, así que rápidamente seguí adelante con la instalación. Ahora, cuando intento correr

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

No obtengo el resultado (que obtenía antes)

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

como se describe en¿Qué es la vulnerabilidad de bash CVE-2014-6271 (Shellshock) y cómo la soluciono?

Más bien, ahora solo recibo "hola". ¿Es seguro asumir que las actualizaciones que instalé ocultan estos mensajes de error? Después de revisar el Centro de software, veo las siguientes actualizaciones que instalé:

unity-settings-daemon (14.04.0+14.04.20140414-0ubuntu1, 14.04.0+14.04.20140606-0ubuntu1
aptdaemon-data (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)
python-aptdaemon.gtk3widgets (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)
bash (4.3-7ubuntu1.3, 4.3-7ubuntu1.4)
python-aptdaemon (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)

Más específicamente, ¿4.3-7ubuntu1.4 oculta el mensaje de error de intento de definición de función? Perdón por la sospecha, pero después de buscar en Google, todavía tengo que encontrar un problema similar. Cualquier claridad será muy apreciada. ¡Gracias!

Respuesta1

De acuerdo aesta publicación de la revista Fedora:

env x='() { :;}; echo OOPS' bash -c :

Esto imprimirá "OOPS" en un sistema vulnerable, pero saldrá silenciosamente si bash ha sido parcheado.

Este es el comportamiento visto en:

  • Debian squeeze( bashpaquete 4.1-3+deb6u2)
  • CentOS 6.5 ( bashpaquete 0:4.1.2-15.el6_5.2)
  • ArchLinux ( bashpaquete 4.3.026-1)

Especulo que así es como la solución pretende que se comporte, pero por alguna razón, bashlos parches iniciales de Ubuntu produjeron el error en lugar de ignorar el código adicional en silencio.


comentario de mattdm:

Los parches iniciales fueron en realidaddestinadopara producir el error cuando se encontró una definición de función incorrecta en una variable de entorno. Los parches actualizados solo buscan variables con prefijos especiales, lo que elimina casi todo el riesgo del mundo real. Inténtalo env 'BASH_FUNC_x()'='() { :;}; echo OOPS' bash -c :: deberías ver un error.

He verificado esto:

$ env 'BASH_FUNC_x()'='() { :;}; echo OOPS' bash -c :
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `BASH_FUNC_x`
$ bash --version | head -1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$ apt-cache policy bash | grep Installed
  Installed: 4.3-7ubuntu1.4

información relacionada