Shellshock Bug και update του bash!

Maras | Παρ, 09/26/2014 - 10:36 | 2' | 5

Mεγάλο κενό ασφαλείας στο bash επηρεάζει μηχανήματα με Linux και MacOSX, ανακαλύφθηκε από τεχνικό ασφαλείας της Red Hat και υπήρχε για 25 χρόνια,

Εδώ κάποιες πληροφορίες http://www.digitallife.gr/bash-shellshock-bug-44489

Για να δείτε αν έχετε πρόβλημα δώστε στο τερματικό :

env X="() { :;} ; echo busted" /bin/sh -c "echo completed"
env X="() { :;} ; echo busted" `which bash` -c "echo completed"

Αν βγάλει busted τότε το bash έχει το πρόβλημα και κάντε update το bash :

sudo apt-get update
sudo apt-get install bash

Ξανατρέξτε τις πρώτες 2 εντολές και αν σας βγάλει :

bash: warning: var: ignoring function definition attempt
bash: error importing function definition for 'var'

Είστε εντάξει ;)

Εδώ περισσότερες πληροφορίες για το πρόβλημα

http://www.theregister.co.uk/2014/09/24/bash_shell_vuln/

Φόρουμ
Δώσε αστέρια!

MO: 4.5 (ψήφοι: 2)

Σχόλια

Από χτες έχει βγει στην επιφάνεια το bug και αφορά στο χειρισμό μεταβλητών από το Bash, όταν οι μεταβλητές περιέχουν συναρτήσεις και "έξτρα κώδικα", πράγμα επιτρέπει την αυθαίρετη εκτέλεση του "έξτρα κώδικα" όπως φαίνονται από τα παραδείγματα που δίνεις. 

Το κόλπο είναι ότι μόλις τεθεί η μεταβλητή Χ τότε την επόμενη φορά που θα τρέξει το bash, θα εκτελεστεί και το υπόλοιπο κομμάτι. Φανταστείτε απλά ότι αντί για which bash εκεί μπορεί να έχει ένα sudo -s dosemoutonserversou :(

Στο Ubuntu και στα Debian-based distros υπάρχουν ήδη patches του προβλήματος (δείτε εδώ για Ubuntu και εδώ για Debian) που εγκαθίστανται με απλό apt-get update && apt-get install bash. Με παρόμοιες εντολές λύνεται το θέμα και σε RPM based διανομές. Στο Mac OS X, που επίσης έχει το ίδιο πρόβλημα δεν έχω ψάξει ακόμα για patch. Ουσιαστικά, για να ξέρετε ότι ήσαστε ΟΚ πρέπει να εγκαταστησετε την έκδοση bash-4.3.

Στο Ubuntu μετά την αναβάθμιση δίνοντας την παρακάτω εντολή πρέπει να δείτε:

$ dpkg -s bash | grep Version

Version: 4.3-7ubuntu1.2

Στο Debian οι fixed versions είναι οι 4.2+dfsg-0.1+deb7u1 (wheezy) και 4.1-3+deb6u1 (για squeeze)

Στην περίπτωση που δεν υπάρχει η έκδοση αυτή για τη διανομή σας, προτείνεται να κάνετε compile τον κώδικα της μόνοι σας:

mkdir src
cd src
wget http://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz
#download patches
for i in $(seq -f "%03g" 0 25); do wget     http://ftp.gnu.org/gnu/bash/bash-4.3-patches/bash43-$i; done
tar zxvf bash-4.3.tar.gz 
cd bash-4.3
#apply all patches
for i in $(seq -f "%03g" 0 25);do patch -p0 < ../bash43-$i; done
#build and install
./configure && make && make install
cd .. 
cd ..
rm -r src

Το πρόβλημα όμως δεν είναι οι servers ή τα desktops μας. Αλλά τα embedded-linux μηχανήματα (βασικά οτιδήποτε gadgetάκι τρέχει linux και έχει σύνδεση στο διαδίκτυο). Επίσης, σοβαρό θέμα υπάρχει με servers που τρέχουν παλιές, μη ενημερωμένες εκδοσεις Debian/Ubuntu/whatever....

 Δημήτρη, στα Ubuntu με την version 4.3 του bash πριν το update υπήρχε πάλι το πρόβλημα.

Η εντολή

$ dpkg -s bash | grep Version

μου δίνει

Version: 4.3-7ubuntu1.3 

πλέον

 

Όποιος έχει ακόμα το Squeeze

[email protected]:~# cat /etc/debian_version
6.0.10

Προσθέτει στo /etc/apt/sources.list τα repos του LTS

#LTS security
deb http://http.debian.net/debian/ squeeze-lts main contrib non-free
deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free

και τρέχει

apt-get update && apt-get install bash