Exploit CVE-2014-6271 / Patch op OSX

De kwetsbaarheid zit in de versies tot en met 4.3 en zorgt er voor dat kwaadwillende procedures kunnen uitvoeren via de commandline en gegevens kunnen uitlezen. De bug is 22 (!!) jaar oud en dateert van versie 1.13

Hieronder een beschrijving hoe dit probleem te patchen op OSX.

Ben je kwetsbaar?

Open de Terminal op je Mac via Applicaties -> Hulpprogramma's (of Utilities). Plak het onderstaande commando en druk op enter. 

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

Krijg je dit terug?

vulnerable
hello

Dan ben je kwetsbaar.

Krijg je het onderstaande? Dan zit je veilig.

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

Oplossen 

Het oplossen van dit probleem heeft op OSX helaas wel wat voeten in de aarde. Een aantal mogelijkheden om het probleem te verhelpen.

System binairies

Een eerste vereiste is dat je Xcode hebt geïnstalleerd. Als dat het geval is kun je onderstaande stappen uitvoeren.

$ mkdir bash-fix
$ cd bash-fix
$ curl 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
$ sudo chmod a-x /bin/bash.old /bin/sh.old 

Hierna moet je even je machine opnieuw opstarten (voor het geval dat er processen zijn die de shell gebruiken). Test voor de zekerheid nogmaals of je kwetsbaar bent.

CentOS

Voor CentOS is de oplossing vrij eenvoudig: 

yum update bash

back_blog