Judulnya mengatakan itu semua.
Saya masih rentan (CVE-2014-6271 dan mungkin CVE-2014-7169) dengan Ubuntu 14.04.1 dan Bash 4.3-7ubuntu1.4
- apt-get update = tidak ada
- upgrade apt-get = tidak ada
- apt-get install bind = tidak ada
Memeriksa ini: https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 (tidak ada versi yang lebih baru)
Tes Ran:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
Mendapatkan:
vulnerable
hello
Sudah di sini selama seminggu sekarang!
[Memperbarui]
Saya awalnya menginstal bash_4.3.orig.tar.gz dari https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 yang mungkin merupakan kesalahan.
Saya melakukan ini sebelum melakukan sudo apt-get update && sudo apt-get install bash
akan bekerja (saya pikir).
Di halaman ini, ada file lain, bash_4.3-7ubuntu1.4.debian.tar.gz dan bash_4.3-7ubuntu1.4.dsc. Saya tidak tahu harus berbuat apa dengan ini. Saya mengunduh bash_4.3-7ubuntu1.4.debian.tar.gz dan melihatnya, tetapi tidak tahu apa yang harus dilakukan dengannya.
Saya masih rentan menurut tes ini: env x='() { :;}; echo vulnerable' bash -c 'echo hello'
Saya mencoba sebanyak mungkin kombinasi apt-get, dpkg, dan menginstal dari bash_4.3.orig.tar.gz seperti yang dapat Anda bayangkan. Masih gagal tes.
Saya menemukan:
- / usr / local / bin / bash - GNU bash, versi 4.3.0 (1) -release (i686-pc-linux-gnu)
- / bin / bash - GNU bash, versi 4.3.11 (1) -release (i686-pc-linux-gnu)
Pagi ini, setelah berkeliling selama berhari-hari, saya akhirnya putus asa dan melemparkan Hail Mary dan mencoba skrip dari: Bagaimana cara menambal kerentanan shellshock pada sistem Ubuntu yang sudah usang yang tidak dapat saya tingkatkan?
Sekarang saya punya:
- / bin / bash - GNU bash, versi 4.3.27 (1) -release (i686-pc-linux-gnu)
Masih gagal tes: env x='() { :;}; echo vulnerable' bash -c 'echo hello'
ketika saya masuk. Jadi saya sudo /bin/bash
dan mencoba lagi. Masih gagal.
Jadi saya mencoba:
sudo apt-get install --only-upgrade bash
dan dapatkan ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
bash is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/549 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: error processing package bash (--configure):
package is in a very bad inconsistent state; you should
reinstall it before attempting configuration
Errors were encountered while processing:
bash
E: Sub-process /usr/bin/dpkg returned an error code (1)
Jadi saya mencoba:
sudo apt-get install bash
dan dapatkan ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
bash is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/549 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: error processing package bash (--configure):
package is in a very bad inconsistent state; you should
reinstall it before attempting configuration
Errors were encountered while processing:
bash
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ini tentu saja tidak mengejutkan saya.
Tolong bantu.
Adakah yang bisa membantu saya memaksakan pemutakhiran / bin / bash dan / usr / local / bin / bash dengan versi yang berfungsi? Dapatkah saya menggunakan file yang ditemukan di halaman ini https://launchpad.net/ubuntu/+source/bash/4.3-7ubuntu1.4 atau dapatkah saya membersihkan instalasi GNU ?? Juga, dapatkah bash disalin dari / bin ke / usr / local / bin / (atau sebaliknya) jika saya bisa mendapatkan hanya satu yang diperbaiki?
Saya membutuhkan jawaban Linux yang kuat dan bukan hanya beo apt-get yang terlihat di mana-mana. Saya sudah membaca semuanya atau menggantung semua yang bisa saya temukan. Jika Anda memiliki sumber daya, beri tahu saya. Anda mungkin telah sukses, tetapi saya tidak punya masalah selain itu .
Masuk ke obrolan baik-baik saja.
is a Linux kernel security module that provides the mechanism for supporting access control security policies, including United States Department of Defense–style mandatory access controls (MAC).
Jawaban:
Debian menyediakan sumber hulu yang asli , kemudian file kontrol dan modifikasi lokal. Dalam
.orig
nama file mengatakan itu tidak dimodifikasi. Itu.dsc
hanya metadata. Di dalam.debian.tar.gz
file Anda akan menemukan semua tambalan, termasuk perbaikan keamanan. Proses build mengambil hulu yang asli, menerapkan tambalan dan membangun paket dari itu. Debian (dan Ubuntu) sangat menentang penarikan versi baru dari hulu, karena versi baru menambahkan bug dan regresi baru, bukan hanya memperbaiki masalah yang diketahui.Menjalankan
sudo apt-get install --reinstall bash
harus memperbaiki masalah - output dari apt-get memberitahu Anda itu tidak melakukan instalasi, dan melanjutkan untuk mencoba memperbarui konfigurasi.Jika, dan hanya jika, apt-get itu gagal, maka Anda ingin:
ksh
atauzsh
dan pertimbangkan untuk sementara mengatur shell-login ke salah satu dari mereka, sehingga Anda memiliki jalan masuk.sudo dpkg --remove --force-remove-reinstreq bash
sudo apt-get install bash
Kemudian, Anda ingin mulai menjadi lebih akrab dengan sistem halaman manual yang digunakan oleh Unix; yang
man
perintah teman Anda di sini.man apt-get
danman dpkg
akan memberi Anda banyak dari apa yang Anda butuhkan di sini.sumber
Menurut saya masalahnya adalah Anda tidak sengaja menginstal versi buruk dari bash
/usr/local
dan Anda sudah memiliki versi yang lebih baik di/bin
. Jadi saya tidak bisa melihat mengapa jawabannya tidak adilrm /usr/local/bin/bash
OK, itu tidak akan menghilangkan semua file dukungan yang menyertainya, tetapi itu akan memastikan bahwa versi buruk tidak dapat berjalan.
Jika Anda masih memiliki direktori tempat Anda melakukan
make install
versi yang buruk, Anda dapat pergi ke sana dan lakukanmake uninstall
untuk membersihkan semuanya. Jika Anda masih belum memilikinya ... Anda mungkin dapat menguraikan dan membangunnya lagi (pastikan untuk mencocokkan./configure
argumen yang Anda gunakan pertama kali) dan jalankanmake uninstall
.make uninstall
harus bekerja dengan program GNU apa pun yang masih memiliki direktori build asli Anda. Ada dalam standar pengkodean yang harus diikuti oleh semua paket sumber GNU.sumber
Saya menemukan bahwa bash install Apt-get bekerja untuk menghilangkan bug
sumber
Tolong jangan pilih-pilih jawaban ini sampai bayaran telah dibayarkan - jika Anda melakukannya.
Pertama-tama saya ingin memberikan Terima kasih (!) Kepada mereka yang telah membantu saya dan kemudian menjelaskan apa yang terjadi dan apa yang tidak boleh dilakukan dan apa yang memperbaiki masalah ini. Jadi tolong tinggalkan aku. Saya melakukan ini untuk pengguna di masa mendatang.
Bersyukur: Saya ingin dengan rendah hati berterima kasih (!) Paul P (di sini) dan Manfred Hampl (m-hampl) dari Answers.launchpad.net dan mohon maaf karena agak tumpul. Keduanya membantu saya untuk menyelesaikan masalah ini. Saya membutuhkan seorang pahlawan dan keduanya berdiri untuk menjadi pahlawan saya. Saya Terima kasih Anda berdua dengan semua yang saya miliki.
Bahkan, saya Berterima kasih (!) Pada semua orang yang ikut. Ada kebijaksanaan dalam semua itu. Terutama, unkilbeeg, yang memberi petunjuk yang sangat berharga. Tentu saja saya tidak bisa melupakan Cyrus yang langsung melompat dan juga sangat berharga.
Apa yang Terjadi: Dalam kabut hal-hal, dan dengan ketidaktahuan saya yang signifikan dalam semua hal instal / perbarui dan sebagainya, saya mengikuti halaman, pendapat, dan tautan dan berpikir saya melakukan hal yang benar. Pada awalnya dan pada saat itu, apt-get tidak memiliki paket yang tersedia dan jadi saya mengarahkan kursor ke launchpad.net karena di situlah Ubuntu menunjuk saya.
Apa yang tidak saya sadari adalah apa yang harus dilakukan dengan sumber daya launchpad.net. Saya menginstal basis menginstal file .gz mengharapkan pembaruan di suatu tempat. Singkatnya, yang tidak saya sadari adalah bahwa ada file .deb di halaman lain yang seharusnya menjadi fokus saya. Jika Anda mencoba memperbarui sesuatu di Ubuntu menggunakan launchpad.net, cari file .deb yang sesuai.
Antara apt-get dan launchpad.net, saya berakhir dengan dua versi bash yang benar-benar membingungkan masalah ini.
Lebih buruk lagi, ada perbaikan GNU yang diusulkan, yang mungkin baik untuk beberapa, tetapi bash rusak di / bin. Alhamdulillah (!) Ada dua versi. Paul P membantu saya untuk memperbaikinya dengan mengeluarkan perintah instalasi untuk menimpa instalasi GNU.
Pada akhirnya: Baik Paul P dan Manfred Hampl berada di jalur yang sama ketika saya terpental di antara dua situs. Sayangnya, saya terlalu bodoh untuk Paul P dan saya minta maaf untuk itu.
Yang perlu diketahui adalah, $ PATH penting seperti yang ditunjukkan oleh unkilbeeg. Satu-satunya versi bash yang harus ada (dari pemahaman saya dan ingat saya bodoh), adalah satu di / bin dan satu-satunya instalasi yang harus dimiliki adalah yang Anda dapatkan melalui apt-get dan secara opsional file deb apa pun dari launchpad. bersih. Baik Paul P dan Manfred Hampl menunjukkan bahwa versi bash / usr / local / bin harus dihapus. Jadi itulah yang saya lakukan. Ternyata, sementara saya pikir saya menggunakan / usr / bin, karena itulah yang ditugaskan untuk pengguna saya, saya sebenarnya menggunakan / local / usr / bin karena itu pertama di jalur saya. Tangkapan yang bagus!
Ingat ini adalah saran Ubuntu. Itu mungkin tidak berlaku untuk semua orang.
SELALU (!) Gunakan apt-get terlebih dahulu jika Anda bisa. Kedua, gunakan launchpad.net dan cari file .deb yang tepat. Jangan melakukan hal lain. Walaupun sumber daya GNU sangat berharga, yang terbaik adalah membiarkan Ubuntu membuat paket untuk Anda dan cukup menunggu. Jangan perbarui Ubuntu dari sumber lain kecuali Anda benar-benar tahu apa yang Anda lakukan.
Bounty: Saya berharap saya bisa memberi semua orang bagian dari hadiah atau setidaknya membaginya antara Paul P dan Manfred Hampl tetapi itu tidak mungkin. Saya menandai Paul P sebagai jawaban yang diterima dan memintanya untuk memperbarui jawabannya untuk pembaca masa depan. Jika dia membutuhkan informasi dari saya, saya dengan senang hati akan memberikannya.
Terima kasih sekali lagi: Sekali lagi, saya berterima kasih (!) Setiap orang yang ikut ceramah. Cukup ceramah bisa jauh lebih penting daripada yang pernah Anda tahu. Petunjuk sederhana benar-benar dapat membantu seseorang yang sedang dalam kesulitan. Dukungan dari komunitas yang sangat peduli. Terima kasih lagi
sumber