Perintah tes
x='() { :;}; echo vulnerable' bash
menunjukkan bahwa instalasi Debian 8 (Jessie) saya rentan, bahkan dengan pembaruan terbaru. Penelitian menunjukkan bahwa ada tambalan untuk stabil dan tidak stabil, tetapi pengujian tidak ditambal.
Saya pikir patch akan membuatnya untuk pengujian dalam beberapa hari, tetapi ini sebenarnya terlihat cukup buruk untuk menjadi paranoid. Apakah ada cara untuk mendapatkan paket dari tidak stabil dan menginstalnya tanpa merusak sistem saya? Meng-upgrade menjadi tidak stabil sepertinya akan menyebabkan lebih banyak masalah daripada menyelesaikannya.
Menurut Bob, ada kerentanan Shellshock kedua, yang diperbaiki di tambalan kedua. Tes untuk itu seharusnya:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
Tapi saya tidak cukup terampil dalam Bash untuk mengetahui apa artinya ini atau mengapa itu menjadi masalah. Bagaimanapun, ia melakukan sesuatu yang aneh, yang dicegah oleh bash_4.3-9.2_amd64.deb pada sistem 64-bit, yang pada saat mengedit dalam keadaan stabil dan tidak stabil tetapi tidak dalam Jessie / testing.
Untuk memperbaiki ini untuk Jessie , dapatkan Bash terbaru dari tidak stabil dan instal dengannya dpkg -i
.
Jemenake menawarkan
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb
sebagai perintah yang akan mendapatkan versi 4.3-9.2 untuk mesin Anda.
Dan Anda dapat mengikutinya dengan:
sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb
untuk menginstalnya.
Jika Anda memerlukan tambalan lebih lanjut dari tidak stabil untuk sistem Jessie Anda , ini jelas cara yang harus dilakukan ( mutatis mutandis ).
sumber
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture).deb
Ini akan mendapatkan arsitektur yang tepat untuk kotak Anda.Saya telah mengedit jawaban ini untuk perbaikan bash tambahan yang dirilis pada hari Senin.
Untuk Ubuntu 12.04, saya menjalankan pembaruan, tetapi juga harus menjalankan instalasi untuk bash untuk menghilangkan kerentanan.
Perintah itu menunjukkan sistem rentan, jadi jalankan pembaruan.
Tes lagi.
Masih rentan.
Tes lagi.
Sunting: Setelah tambalan tambahan dirilis, hasilnya telah berubah.
Yay! Tetap. Ini seharusnya berfungsi untuk versi lain, tetapi saya belum mengujinya di atas 12,04.
Juga, balasan runamok di bawah ini berfungsi dengan baik, jadi beri dia dukungan!
sumber
apt-get update && apt-get install -y bash
tampaknya bekerja.this is a test
tetapi bukan kesalahan dan peringatan. Di mesin lokal saya, saya mendapatkan kesalahan, tetapi di server saya tidak. Apa artinya itu? Apakah server saya ditambal? Terima kasih.Alternatif untuk Debian 6.0 (Squeeze) tanpa mengambil paket dari Debian 7 (Wheezy):
Gunakan repositori keamanan LTS yang tambalannya di-backport.
Tambahkan ini ke
/etc/apt/sources.list
:Kemudian jalankan
apt-get update && apt-get install bash
.Melalui: pertanyaan linux
sumber
apt-get update
sebelumapt-get dist-upgrade
dan Anda akan mendapatkan tambalan. Lakukan saja sendiri dan ada peningkatan bash push yang memperbaiki masalah.sumber
Saya memperbaikinya di Hackintosh saya dengan:
$ brew install bash
sumber
Saya telah menulis artikel tentang cara melakukan ini dengan apt-get di versi Ubuntu lama. Anda pada dasarnya memperbarui sumber Anda. Daftar ke yang terbaru dan kemudian jalankan pembaruan apt-get dan tingkatkan bash. Anda dapat membacanya langkah demi langkah atau menyalinnya dari sini .
Ringkasan:
Baca artikel jika Anda menggunakan old-releases.ubuntu.com dan jangan lupa bahwa Anda mungkin ingin mengubahnya kembali:
sumber
Versi tetap (lihat changelog ) untuk paket Bash ada di Debian 8 (Jessie) sekarang (lihat info paket ), mulai 2014-09-26 14:18 UTC.
Perbaikan kedua, yang disebutkan dalam komentar di bawah, juga ada di repositori Jessie sekarang. Tidak perlu menginstal dari tidak stabil. Lihat tautan informasi paket di atas.
Tidak perlu menginstal dari tidak stabil lagi.
Lari saja:
diikuti oleh:
Kemudian verifikasi bahwa kerentanan sudah hilang (di shell yang baru dibuka):
sumber
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
- jika itu mencetakstill vulnerable
, maka yang terakhir belum ditambal. AFAIK, jessie masih rentan. Perhatikan bahwa perintah itu akan membuat file bernamaecho
di direktori saat ini jika berhasil, dan Anda harus menghapusnya sebelum menjalankan kembali tes.