Polecenie testowe
x='() { :;}; echo vulnerable' bash
pokazuje, że moja instalacja Debian 8 (Jessie) jest podatna na atak, nawet przy najnowszych aktualizacjach. Badania pokazują, że istnieje łatka na stabilne i niestabilne, ale testowanie jest niedopasowane.
Wydaje mi się, że łatka przejdzie do testowania za kilka dni, ale w rzeczywistości wygląda to wystarczająco paskudnie, żeby być paranoikiem. Czy jest jakiś sposób, aby uzyskać pakiet z niestabilności i zainstalować go bez uszkodzenia systemu? Aktualizacja do niestabilnej wygląda na to, że spowoduje więcej problemów niż rozwiązuje.
Według Boba istnieje druga luka w Shellshock, która została naprawiona w drugiej łatce. Testem powinno być:
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
Ale nie mam wystarczających umiejętności w Bash, aby zrozumieć, co to oznacza lub dlaczego jest to problem. W każdym razie robi coś dziwnego, czemu zapobiega bash_4.3-9.2_amd64.deb w systemach 64-bitowych, które w czasie edycji są stabilne i niestabilne, ale nie w Jessie / testowaniu.
Aby to naprawić dla Jessie , pobierz najnowszą wersję Bash ze strony niestabilnej i zainstaluj ją dpkg -i
.
Oferty Jemenake
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb
jako polecenie, które otrzyma wersję 4.3-9.2 dla twojego komputera.
I możesz to śledzić za pomocą:
sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb
zainstalować.
Jeśli potrzebujesz dodatkowych łatek z niestabilnej dla swojego systemu Jessie , jest to zdecydowanie właściwa droga ( mutatis mutandis ).
źródło
wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture).deb
Otrzyma odpowiednią architekturę dla twojego pudełka.Zredagowałem tę odpowiedź dla dodatkowych poprawek bash, które zostały wydane w poniedziałek.
W przypadku Ubuntu 12.04 uruchomiłem aktualizację, ale musiałem również uruchomić instalację bash, aby pozbyć się luki.
To polecenie pokazuje, że system jest podatny na zagrożenia, więc uruchom aktualizację.
Przetestuj ponownie.
Nadal wrażliwy.
Przetestuj ponownie.
Edycja: Po wydaniu dodatkowych poprawek dane wyjściowe uległy zmianie.
Tak! Naprawiony. Powinno to działać w przypadku innych wersji, ale nie testowałem go po 12.04.
Również poniższa odpowiedź runamoka działa dobrze, więc daj mu głos!
źródło
apt-get update && apt-get install -y bash
wydaje się działać.this is a test
tylko błąd, ale nie ostrzeżenie. Na mojej lokalnej maszynie pojawia się błąd, ale na moim serwerze nie. Co to mierzy? Czy mój serwer jest załatany? Dziękuję Ci.Alternatywa dla Debian 6.0 (Squeeze) bez pobierania pakietów z Debian 7 (Wheezy):
Skorzystaj z repozytorium zabezpieczeń LTS, w którym poprawka została zportowana.
Dodaj to do
/etc/apt/sources.list
:Potem biegnij
apt-get update && apt-get install bash
.Via: linuxquestions
źródło
apt-get update
wcześniej,apt-get dist-upgrade
a dostaniesz łatkę. Zrobiłem to sam i wprowadzono aktualizację bash, która rozwiązuje problem.źródło
Naprawiłem to na moim Hackintoshu poprzez:
$ brew install bash
źródło
Napisałem artykuł o tym, jak to zrobić za pomocą apt-get na starych wersjach Ubuntu. Zasadniczo aktualizujesz swój source.list do najnowszego, a następnie uruchamiasz apt-get update i upgrade bash. Możesz przeczytać krok po kroku lub skopiować tutaj .
Podsumowanie:
Przeczytaj artykuł, jeśli korzystasz ze old-releases.ubuntu.com i nie zapomnij, że możesz chcieć go zmienić:
źródło
Naprawiona wersja (patrz dziennik zmian ) pakietu Bash znajduje się teraz w Debianie 8 (Jessie) (zobacz informacje o pakiecie ), na dzień 26.09.2014 14:18 UTC.
Druga poprawka, wspomniana w komentarzach poniżej, znajduje się teraz również w repozytorium Jessie . Nie ma potrzeby instalacji z niestabilnej. Zobacz link do informacji o pakiecie powyżej.
Nie ma już potrzeby instalacji z niestabilnej.
Po prostu biegnij:
śledzony przez:
Następnie sprawdź, czy luka zniknęła (w nowo otwartej powłoce):
źródło
env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :("
- jeśli drukujestill vulnerable
, to ta ostatnia nie jest jeszcze załatana. AFAIK, jessie jest nadal podatna na ataki. Zauważ, że to polecenie utworzy plik o nazwieecho
w bieżącym katalogu, jeśli się powiedzie, i musisz go usunąć przed ponownym uruchomieniem testu.