Actualizar bash para evitar ataques Shellshock

Cuando vi el titular dije: «Debe tratarse de IE o algo con Windows…» pero cuando leí el contenido: WTF!! bash metido en esto? no puede ser!!

Aún no hay una solución precisa que resuelva el problema pero por lo pronto debemos actualizar bash «rait nau». Para saber si tu sistema es vulnerable puedes ejecutar los siguientes comandos en consola:

Comando 1:

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

Si el comando muestra `vulnerable` entonces tu sistema lo es.

Comando 2:

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

Si el comando muestra una fecha, sigues siendo vulnerable.

Comando 3:

env -i X=' () { }; echo hello' bash -c 'date'

Si el comando anterior muestra `hello` sigues siendo vulnerable.

Como actualizar bash?

En Ubuntu/Debian: (solo para versiones LTS)

sudo apt-get update && sudo apt-get install --only-upgrade bash

En Centos/Redhat/Fedora:

sudo yum update bash

 

Esto hasta que publiquen una solución definitiva, sería buena idea realizar esas actualizaciones a diario hasta que la alerta roja desaparezca.

 

Tomado de: shellshocker

MySQL necesita mejorar sus mensajes de error

Acabo de modificar una base de datos, no debió demorar las dos horas que demoré en realizar la tarea si no fuera por que MySQL no ha mejorado aun sus mensajes de error.

La tarea fue agregar una nueva clave foránea a una tabla existente, veamos como reproducir lo que me ha pasado:

-- Crear las tablas foo y bar
create table foo (
	id integer not null primary key,
	bar_id int not null
);
create table bar (
	id integer not null primary key
);
-- Intentar crear una clave foránea
alter table foo
	add foreign key(bar_id) references bar(ANY_FIELD) ;

Al ejecutar la ultima sentencia MySQL devuelve un error genérico que puede significar muchas cosas:

Error Code: 1005. Can't create table 'temp.#sql-4bd7_11' (errno: 150)

Todo hubiera sido mas fácil si me hubiera dado cuenta que escribí mal el campo de la tabla de deferencia bar(ANY_FIELD) (algunas veces pasa), si el mensaje de horror hubiera dicho: "field bar.ANY_FIELD don't exists" no estaría despierto hasta las 2am buscando una solución,

Estoy usando MySQL  5.5.21 community edition.