Kysymys:
Kuinka voin kääntää Bashin uudelleen välttääksesi Shellshockin (etähyödyntäminen CVE-2014-6271 ja CVE-2014-7169)?
AlBlue
2014-09-24 23:35:06 UTC
view on stackexchange narkive permalink

Ottaen huomioon, että Bash 3.2 (OS X: n toimittama versio) on altis etäsuorituskyvylle, joka tunnetaan nimellä "Shell Shock" ( CVE-2014-6271 ja CVE-2014-7169) miten voin rakentaa Bashin uudelleen ja turvata järjestelmän ennen virallista Apple-korjausta?

PÄIVITYS: Huomaa, että Apple on nyt julkaissut virallisen korjaustiedoston. Katso lisätietoja.

Apple on julkaissut korjauksen: http://support.apple.com/kb/DL1769
Edellä mainittu OS X bash Update 1.0 -korjaustiedosto on ominaista OS X 10.9.5: lle tai uudemmalle - Tässä on ne kaikki: [OS X 10.7.5] (http://support.apple.com/kb/DL1767) (Lion) , [OS X 10.8.5] (http://support.apple.com/kb/DL1768) (Mountain Lion), [OS X 10.9.5] (http://support.apple.com/kb/DL1769) (Mavericks).
Kyllä, linkit lisäsin 9 tuntia sitten, mutta ne poistettiin virheellisesti. Http://apple.stackexchange.com/revisions/146849/10
loi pääsisällön https://gist.github.com/dnozay/395dcdef05c6b4b1836a, jolla on suurin osa vaiheista ja joissa on jo korjaustiedostot (ja sen pitäisi toimia OSX 10.6: lla).
@dnozay Kiitos pääsisällöstäsi! Päivitä se sisällyttämään korjaustiedostot 55 ja 56 (jo loppu) ja 57 (tulossa pian).
@OldPro, pyydä ping, kun 57 on poissa, ja päivitän sen.
-1
Seitsemän vastused:
#1
+429
AlBlue
2014-09-24 23:35:51 UTC
view on stackexchange narkive permalink

Tila

Apple on julkaissut Shellshockin ja siihen liittyvien haavoittuvuuksien Bash-tietoturvakorjaukset nimellä " OS X bash Update 1.0". Ne voidaan asentaa normaalin järjestelmäpäivityksen kautta ihmisille, jotka käyttävät OS X Mountain Lion v10.8.5- tai OS X Mavericks v10.9.5 -käyttöjärjestelmää (ne sisältyvät tietoturvapäivitykseen 2014-005), ja ne voidaan asentaa myös manuaalisesti. Virallisia Apple-korjauksia on saatavana myös OS X Lion v10.7.5: lle ja OS X Lion Server v10.7.5: lle, mutta ne ovat saatavana vain manuaalisesti ladattavina. Suojauskorjauksia on saatavana eri URL-osoitteiden kautta käyttöjärjestelmän version mukaan:

(Jos uusia korjaustiedostoja julkaistaan, laita ne tänne, mutta pidä nämä olemassa olevat myös viitteeksi.)

Apple-korjaustiedosto huolehtii Shellshockista ja useista muista haavoittuvuuksista ja sopii useimmille ihmisille. tl; Dr ihmiset voivat lopettaa lukemisen täällä.

Kuitenkin Shellshock-virheen bashille kiinnittämä huomio on saanut monet tutkijat tarkastelemaan bashia kovasti ja yhä enemmän (vaikeasti hyödynnettäviä) haavoittuvuuksia löytyy. Jos olet erittäin huolissasi tietoturvasta (koska ehkä sinulla on OS X Server -palvelin julkisesti saatavilla olevan verkkosivuston ylläpitämiseksi), sinun kannattaa ehkä (yrittää) pysyä haavoittuvuuksien ja korjaustiedostojen mukana, kun ne jatkavat kokoamista kokoamalla itse itsesi. Muussa tapauksessa älä huoli siitä.

Etsi, että Apple julkaisee uuden päivityksen, jotta jokin aika myöhemmin, kun pöly laskeutuu uusien haavoittuvuuksien löytämiseen.


Bash 3.2: n, korjaustiedostojen 52, 53 ja 54 (jotka vastaavat Bash 4.3 korjaustiedostoja 25, 26 ja 27) virallisia bash-korjaustiedostoja, jotka korjaavat sekä CVE-2014-6271 että CVE-2014 -7169 sekä alla näkyvä 'Game over'. Olen testannut tämän ( @alblue) ja viesti on päivitetty vastaavasti (ja sitten tehtiin lisäpäivityksiä: katso paikkaan 54 pysähtyvä viesti versiosta 41 ).

Bashia vastaan ​​on raportoitu monia muita haavoittuvuuksia. Michal Zalewskin viestin mukaan, jos sinulla on korjaustiedosto 54 (ja oletettavasti Applen virallinen korjaustiedosto) "ei ole mitään järkeä pakkomielle näiden yksittäisten virheiden tilasta, koska niiden ei pitäisi enää aiheuttaa turvallisuusriskiä : "

  • CVE-2014-6271 - Stephane löysi alkuperäisen RCE: n. Korjattu bash43-025 ja vastaavat versiot 24. syyskuuta muille versioille.

  • CVE-2014-7169 - Tavisin löytämä tiedostonluonti- / tunnuksenkulutusvirhe. Korjattu bash43-026 & co (26. syyskuuta)

  • CVE-2014-7186 - Florianin ja Toddin löytämä todennäköisesti ei-seksi-vaarallinen 10+ here-doc-kaatuminen. Korjattu bash43-028 & co: lta (1.10.).

  • CVE-2014-7187 - Florian ei kaatuu, todennäköisesti ei sekunnin riski. . Korjattu bash43-028 & co: lta (1.10.).

  • CVE-2014-6277 - alustamaton muistiongelma, melkein varmasti RCEfounded by Michal Zalewski. Ei vielä erityistä korjaustiedostoa.

  • CVE-2014-6278 - Michal Zalewskin löytämä komento-injektio RCE. Ei vielä erityistä korjaustiedostoa.

Se muuttuu melko hämmentäväksi. Onneksi Chet Ramey, virallinen bash-ylläpitäjä, lähetti CVE: n korjaustiedostoon. Hänen viestinsä viittaa korjauksiin bash 4.3, minä (@OldPro) olen kääntänyt ne korjaustiedostoiksi bash 3.2: lle, mikä on sovellettavissa OS X: lle. Lisäksi tämän julkaisun jälkeen hän on julkaissut korjaustiedoston 57, joten lisäsin alla olevan:

  bash32-052 CVE-2014-6271 2014-09-24
bash32-053 CVE-2014-7169 2014-09-26 bash32-054 viedyn funktion nimitilan muutos 2014-09-27 ("Game Over") bash32-055 CVE-2014-7186 / CVE-2014-7187 2014-10-01 bash32-056 CVE-2014-6277 2014-10-02 bash32-057 CVE-2014-6278 2014-10-05  

Katso David A. Wheelerin viesti aikajanalle ja tarkemmaksi.

@alblue lähetti asennusohjeet päivityksen 55 kautta. Minä (@OldPro) lisäin korjauksiin 56 ja 57 ohjeisiin, mutta en ole testannut sitä.

Alkuperäisen heikkouden testaus

Voit selvittää, oletko haavoittuvainen alkuperäiselle ongelmalle julkaisussa CVE-2014-6271 suorittamalla tämän testin:

  $ env x = '() {:;}; echo haavoittuva 'bash -c' echo hello'bash: varoitus: x: ohittaa toiminnon määrittelyyritys: virhe tuodessa funktion määritelmää `x'hello  

Yllä oleva tulos on esimerkki ei haavoittuva bash -versio. Jos näet sanan haavoittuva kyseisen komennon lähdössä, bash on haavoittuva ja päivitä. Alla on haavoittuva versio OS X 10.8.5: stä:

Screenshot of bash terminal showing vulnerability in 10.8.5

Uuden haavoittuvuuden testaus

Siihen on päivitetty alkuperäinen viesti ja Bash 3.2.52 (1) ovat edelleen alttiita haavoittuvuuden muunnelmille, jotka on määritelty CVE-2014-7169

  $ rm -f echo $ env X = '() {(a) = > \' sh -c" kaiun päivämäärä "; cat echosh: X: rivi 1: syntaksivirhe odottamattoman tunnuksen läheisyydessä `= 'sh: X: rivi 1:` `sh: virhe tuomalla funktion määritelmää mallille X'Thu 25.9.2014 08:50:18 BST  

Yllä oleva lähtö on esimerkki haavoittuvasta bash -versiosta. Jos näet kyseisen komennon tulosteessa päivämäärän, bash on haavoittuva.

Automaattisesti tuotujen toimintojen poistaminen käytöstä "Game Over" -toiminnon estämiseksi

Tutkijat totesivat, luokittelematta sitä haavoittuvuudeksi, että komentosarja voi kaapata alikuoren toiminnon käyttämällä automaattisesti tuotuja toimintoja:

  $ env ls = "() {echo 'Game Over';}" bash -c lsGame over  

Yllä oleva vaikutusalaisen järjestelmän koodi näyttää sen sijaan Game Over hakemistoluettelosta, jota odotat ls -ominaisuudelta. echo 'Game Over' voidaan luonnollisesti korvata haluamallasi kavalalla koodilla. Tämä tuli tunnetuksi nimellä "Game Over" -vika.

Ennen korjaustiedoston 54 saatavuutta sekä NetBSD että FreeBSD estivät bash-toimintojen automaattisen tuonnin. oletusarvoisesti osittain "Game Over" -toiminnon estämiseksi, mutta pääasiassa uusien jäsentäjien virheiden (kuten CVE-2014-7169) sisällyttämiseksi niiden löytämisen jatkaessa, ja lisäsi uuden komentorivin flag --import-functions ottaaksesi vanhan oletustoiminnon uudelleen käyttöön. Minä (@alblue) olen laatinut korjaustiedoston (vastaan ​​3.2.53) muille käytettäväksi, jos he haluavat myös omaksua tämän käyttäytymisen, ja sisällyttänyt sen alla. Oletuksena tämä korjaustiedosto ei ole käytössä alla olevassa koontikomentosarjassa. Uskon (@OldPro), että tämä korjaustiedosto ei ole enää tarpeen tai hyvä idea, koska se rikkoo taaksepäin yhteensopivuutta ja haavoittuvuuksia, joita se suojaa, korjataan hyvin korjaustiedostossa 54 ja aiemmissa korjaustiedostoissa. .

(Huomautus kysymysmuokkaajille; älä ota tätä käyttöön oletuksena, koska se on epävirallinen korjaustiedosto.)

a0c5c4d66742fddd0a35001cb91798a5fbf8a2f5 import_functions.patch

Laastari voi Ota käyttöön suorittamalla export ADD_IMPORT_FUNCTIONS_PATCH = YES ennen koontiversion suorittamista. Huomaa, että tämän korjaustiedoston ottaminen käyttöön, korjaustiedosto 54 ja kaikki tulevat korjaustiedostot poistetaan käytöstä , koska tulevien korjaustiedostojen yhteensopivuutta epävirallisen korjaustiedoston kanssa ei voida taata.

Apple Patch on Game Over -haavoittuvuus, tavallaan

Kuten @ake_____ twitterissä huomautti, virallinen Apple-korjaus on edelleen alttiina suoritettavien tiedostojen ympäristölle:

  $ env '__BASH_FUNC<ls> ()' = "() {echo Game Over;}" bash -c lsGame Over  

Käyttäjien tulisi itse päättää, kuinka tärkeää tämä on. Minusta (@OldPro) mielestäni ei ole mitään syytä huoleen, koska tälle käytökselle ei tunneta mitään hyväksikäyttöä (sille ei annettu edes CVE-tunnusta), koska yleensä etuoikeutetut etähyökkääjät eivät voi asettaa käyttäjän Ympäristömuuttuja ja hyökkääjät, joilla on käyttöoikeudet, eivät voi käyttää tätä oikeuksien saamiseen, joita heillä ei vielä ole (ainakaan ilman ylimääräisen haavoittuvuuden hyödyntämistä).

Pienen taustan tarjoamiseksi bash antaa sinun määritellä toiminnot ja lisäksi voit viedä nämä toiminnot alikuoriin export -f -komennolla . Tämä toteutettiin aiemmin luomalla ympäristömuuttuja, jolla on sama nimi kuin toiminnolla, jonka arvo on asetettu funktion määritelmälle. Joten

  $ ls () {echo 'Game Over'; } $ export -f ls $ echo $ lsGame Over  

Tämä tapahtui, koska export -f ls loi ympäristömuuttujan nimeltä ls . "Game Over" -haavoittuvuus oli, että voit luoda tämän ympäristömuuttujan suoraan tarvitsematta ensin määrittää toimintoa, mikä tarkoittaa, että jos pystyt pistämään oikean muuttujan nimen, voit kaapata komennon. Apple yritti korjata tämän vaikeuttamalla oikean nimisen muuttujan luomista. Virallinen bash-korjaustiedosto 54 tekee mahdottomaksi luoda oikean nimisen muuttujan käyttämällä muuttujien nimiä, jotka sisältävät % -merkin, joka on merkki, jota ei sallita muuttujan nimessä. , varattu nimitila.

Jos mikään yllä olevista ei ole sinulle järkevää, älä huoli siitä. Olet nyt kunnossa Applen korjaustiedoston kanssa.

System Binaries

OS X 10.9.5 (tällä hetkellä viimeisin vakaa julkaisu) toimitetaan Bash v3.2.51:

  $ bash --versionGNU bash, versio 3.2.51 (1) -release (x86_64-apple-darwin13) Tekijänoikeus (C) 2007 Free Software Foundation, Inc .  

Voit hankkia ja kääntää Bashin uudelleen seuraavasti edellyttäen, että Xcode on asennettu (ja olet suorittanut xcodebuild vähintään kerran aikaisemmin hyväksyä lisenssi):

  $ # Jos haluat poistaa automaattisesti tuodut toiminnot käytöstä, peruuta seuraava $ # export ADD_IMPORT_FUNCTIONS_PATCH = KYLLÄ $ mkdir bash -fix $ cd bash-fix $ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | terva zxf - $ cd bash-92 / bash-3.2 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0 $ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | korjaustiedosto -p0 $ # Katso yllä oleva huomautus ADD_IMPORT_FUNCTIONS_PATCH $ ["$ ADD_IMPORT_FUNCTIONS_PATCH" == "KYLLÄ"] && curl http://alblue.bandlem.com/import_functions.patch | korjaustiedosto -p0 $ ["$ ADD_IMPORT_FUNCTIONS_PATCH" == "KYLLÄ"] || käpristää https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-054 | korjaustiedosto -p0 $ ["$ ADD_IMPORT_FUNCTIONS_PATCH" == "KYLLÄ"] || käpristää https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-055 | korjaustiedosto -p0 $ ["$ ADD_IMPORT_FUNCTIONS_PATCH" == "KYLLÄ"] || käpristää https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-056 | korjaustiedosto -p0 $ ["$ ADD_IMPORT_FUNCTIONS_PATCH" == "KYLLÄ"] || käpristyä https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-057 | patch -p0 $ cd .. $ # Huomaa: ÄLÄ LISÄÄ SUDOA XCODEBUILDIN TÄSTÄ $ xcodebuild $ build / Release / bash --version # GNU bash, versio 3.2.57-release $ build / Release / sh --version # GNU bash, versio 3.2.57-release $ sudo cp / bin / bash /bin/bash.old$ sudo cp / bin / sh /bin/sh.old
$ sudo cp build / Release / bash / bin $ sudo cp build / Release / sh / bin  

(Huomaa: voit suorittaa tämän kopioimalla ja liittämällä yllä olevan koodilohkon, menemällä Terminaliin ja käynnistä sitten pbpaste | cut -c 2- | sh . Ole aina varovainen, kun suoritat satunnaisia ​​komentosarjoja Internetistä ...)

Tämän jälkeen Bash-versio pitäisi olla v3.2.57:

  $ bash --versionGNU bash, versio 3.2.57-release (x86_64-apple-darwin13) Tekijänoikeus (C) 2007 Free Software Foundation, Inc.  

Turvallisuussyistä ja testauksen jälkeen suosittelen, että chmod -x vanhat versiot varmistetaan, etteivät ne ole uudelleen käytetty, tai siirrä ne varmuuskopiosivustolle.

  $ sudo chmod ax /bin/bash.old /bin/sh.old

Muita vastauksia on ratkaisut MacPorts- tai Homebrew-käyttäjille; nämä eivät korjaa ongelmaa, he vain asentavat lisäversiot Bashista. Katso nämä vastaukset, jos haluat päivittää ne nimenomaisesti.

Kiitos

Kiitos Chetille, joka huolehtii bashista ja on toimittanut nämä korjaustiedostot saataville. Kiitos kaikille muille, jotka ovat kommentoineet tätä ja parantaneet sitä ajan myötä.

Nyt Apple on julkaissut todellisen korjauksen, vaikka siitä saattaa silti olla hyötyä. Koska he julkaisivat korjauksen vain Lionille ja uudemmille, ja virallinen korjaustiedosto tarjoaa GNU bash -version 3.2.53 (1) -julkaisun (x86_64-apple-darwin13), Game over -vika on kuitenkin edelleen jonkin verran haavoittuva. Tässä vaiheessa oman Bash-version uudelleenrakentaminen versiota 3.2.57 vastaan ​​on todennäköisesti turvallisempaa kuin luottaa Applen korjaustiedostoon, ellet tee sitä väärin.

#2
+18
mmmmmm
2014-09-25 01:04:22 UTC
view on stackexchange narkive permalink

Macports

Tämä antaa sinulle bash-version 4.3.28 (1), joka korjasi molemmat haavoittuvuudet (CVE-2014-6271 ja CVE-2014-7169) sekä joitain myöhemmin löydettyjä. Tämä on hyödyllistä, jos olet vaihtanut kuoret käyttämään Macports bash -ohjelmaa version 4 ominaisuuksien saamiseksi.

Se ei ratkaise vakio-käyttöjärjestelmän komentosarjojen ongelmaa, koska niillä on #! / Bin / sh tai #! / bin / bash ensimmäisenä rivinä. Tällainen asia on syy, miksi Macports yrittää olla käyttämättä Applen toimittamia ohjelmaversioita, koska Macportit päivitetään yleensä nopeammin. sillä on uudempi versio bashista).

Voit asettaa päätelaitteen käyttämään tätä kuten Homebrew-vastauksessa.

Asenna macportit noudattamalla näitä ohjeita, jotka ovat
1. Asenna Xcode ja Xcode-komentorivityökalut
2. Hyväksy Xcode-lisenssi Terminalissa: sudo xcodebuild -lisenssi
3. Lataa MacPorts-paketti omalle OS X -versiollesi: linkit ovat sivulla
4. Suorita pkg

Kun olet asentanut macportit, sinun on uusimmat versiot, tämä tehdään suorittamalla

  sudo-portin itsepäivitys  

ja käännä tai hanki uusimmat binääritiedostot

  sudo-porttipäivitys vanhentunut  
Koska kyse on tietoturva-aukkojen korjaamisesta olemassa olevissa binaareissa, eikä tämä korvaa / korjaa haavoittuvia binaareja, en ymmärrä, miten tämä ratkaisee ongelman.
Se ketuttaa macports-version - ja pyysi todella IanC: n kommenttia
Joo. Meidän pitäisi luetella korjaukset kaikkiin paikkoihin, joista `` bash '' yleensä tulee OS X: ssä - joten järjestelmän korjaus, Homebrew ja MacPorts korjaavat. Mahdollisesti myös Fink. Pidän mieluummin sitä, jos tämä tehdään muokkauksena @AlBlue's-vastaukseen. Joten se on kaikki yksi, oikeampi vastaus.
@InaC: n tulisi olla erilliset, koska vastaukset eroavat toisistaan ​​ja yhtä suurta ei voida tarkistaa; ei voida tarkistaa - esim. Katso minun sanovan, että tämä ei korjaa Applen bashia ja home-brew vastausta kopioimalla Homebrew bash OSX: n kautta. Itse asiassa ne ovat erillisiä kysymyksiä
Katso muokkaukseni @AlBlue's-vastaukseen. Olen eri mieltä, että näiden pitäisi olla erillisiä.
`sudo port selfupdate` ilman tilaa itsen ja päivityksen välillä ...
Ratkaiseeko 4.3.25 myös jatko-CVE: n?
Viimeisen muokkauksen huomautus macports näyttää korjaavan sen itse - sain hyvän rakennelman
#3
+17
Trane Francks
2014-09-25 15:33:37 UTC
view on stackexchange narkive permalink

HUOMAUTUS virallisesta Apple OS X bash -päivityksestä 1.0: Tämä ohjelmistopäivitys tuo virallisen Apple bash -version vain versioon 3.2.53. 3.2.54-korjaustiedostossa on seuraava muutos:

Tämä korjaustiedosto muuttaa vietyjen toimintojen koodauksen bash-käyttötapoja välttääkseen ristiriidat kuorimuuttujien kanssa ja välttääkseen vain riippuen ympäristömuuttujan sisällöstä sen määrittämiseksi, onko tai älä tulkitse sitä kuoritoimintona.

Käyttäjille, jotka ovat jo paikantaneet järjestelmän 3.2.54-binaareilla, voit joko korvata käännetyt binaarit Apple-korjaustiedostolla tai voit jättää asiat sellaisina kuin ne ovat, mutta sitä ei suositella. Vaikka Apple jätti binaariversiot 3.2.53: een, Apple-korjaustiedosto PITÄÄ korjauksen alla olevaan hyväksikäytön testiin:

env X = '() {(a ) = > \ 'sh -c "kaikupäivä"; cat echo

Tämä tarkoittaa, että Applen virallinen 3.2.53-binaari sisältää vastaavan suojauksen kuin vanilja GNU 3.2.54 -binaari. Valitettava sekaannuskohta, mutta se on mitä se on. Applen korjaus ei ole puoliksi paistettua. Se näyttää olevan täydellinen ratkaisu ongelmaan. Alla olevaa etenemissuunnitelmaa vaniljan bash ja sh kokoamiseksi GNU-lähteestä tulisi pitää historiallisena esineenä, ja sitä olisi mahdollisesti käytettävä mallina korjaustiedostojen tekemiselle tulevaisuudessa. ne ovat välttämättömiä.

HUOMAUTUS: Vanilla GNU -lähteellä sh : lla on etuoikeuden korkeusongelmat, jotka aiheuttavat vikoja useille asentajille, esimerkiksi Adobe Flashille. Suosittelen voimakkaasti noudattamaan Applen korjaamia binäärejä. Pidä tätä korjaustiedostoa vanhentuneena ja perusteettomana.

On olemassa uusi GNU bash 3.2.55 -päivitys, joka kuvaa seuraavaa korjausta:

Virhe -Description:

Parse.y-tiedostossa on kaksi paikallista puskurin ylivuotoa, jotka voivat aiheuttaa kuoren kaataa ytimen, kun annetaan useita tähän komentoon liitettyjä tässä-asiakirjoja tai useita sisäkkäisiä silmukoita.

estolause>

Jätämme lempeän lukijan tehtäväksi päättää, istutko virallisten Applen korjaamien binaarien kanssa vai rullaatko omasi käsittelemään uusia mahdollisia hyökkäyksiä. Henkilökohtaisesti pidän kiinni Applen binääritiedoista.


Tässä viestissä kerrotaan miten vanilja bash ja käännetään ja asennetaan sh OS X: ssä. Valitsin tämän reitin, koska seuraavat esimerkit, joissa yksityiskohtaisesti käytettiin Applen spesifistä lähdettä, eivät jättäneet oikeaa korjaustiedostoa. YMMV. Tämä vanilja-asennus on kuitenkin tarkoitettu korvaamaan OS X -binaaritiedostot siten, että kun Apple lopulta julkaisee tietoturvapäivityksen, oikeat Apple-kollegansa käyttävät näitä vaniljakorvauksia.

Peruskokoonpanoni on:

OS X Lion 10.7.5 ja Xcode 4.6.3 ja kaikki komentorivin apuohjelmat asennettuna.

Korjain tämän seuraavasti:

Lataa pohja bash-lähdekoodi 3.2.48:

https://ftp.gnu.org/gnu/bash/bash-3.2.48.tar.gz

Lataa bash3.2.49, .50, .51, .52, .53, .54 ja .55 korjaustiedostot osoitteesta:

https://ftp.gnu.org/gnu /bash/bash-3.2-patches/

Tallensin ne nimellä $ filename.patch, esim. bash3.2.50.patch.

CD lataushakemistoon ja …

Pura päälähdehaara:

  tar xzvf bash-3.2.48.tar.gzcd bash-3.2.48  

Oletetaan, että olet nimittänyt ladatut korjaustiedostosi uudelleen aiemmin kuvatulla tavalla,

  cp ../*.patch.  

Sitten…

  tiedostolle * .laastari; do patch -p0 < $ filedone  

Tämän pitäisi näyttää onnistuneita korjaustiedostoja erilaisista tiedostoista. Jos ei, valmistaudu tekemään joitain tutkimuksia.

Seuraava:

  sudo cp / bin / bash / bin / bash_oldsudo cp / bin / sh / bin / sh_oldsudo chmod -x / bin / bash_oldsudo chmod -x / bin / sh_old  

Se on pohjimmiltaan tukenut vanhaa, haavoittuvaa bashia ja kuoria ja poistanut heidän suoritettavan etuoikeutensa. Tämä antaa sinulle mahdollisuuden palauttaa komennot tarpeen mukaan, mutta poistaa niiden kyvyn vahingoittaa tällä välin.

Seuraava:

  ./configure --prefix = / ; tehdä; sudo make install  

Tämän pitäisi konfiguroida, kääntää ja asentaa uusi bash-binaari oikein / bin-kansioon. Kun se on valmis, poistu terminaalista ja avaa se uudelleen.

Sinun pitäisi, kaikki onnelliset ja hymyilevät asiat, pystyä bash --version ja nähdä nyt 3.2.55, esim .:

  Gaia: Lataa trane $ bash --versionGNU bash, versio 3.2.55 (1) -julkaisu (i386-apple-darwin11.4.2) Tekijänoikeudet (C) 2007 Free Software Foundation, Inc.  

Yllä olevan komennon tarkka lähtö vaihtelee OS X -version mukaan.

Sinun tulisi myös pystyä testaamaan haavoittuvuutesi bash ja huomaa, että se on hieno.

HUOMAUTUS: Olemme toistaiseksi korjanneet vain bash-tiedoston, mutta / bin / sh -ohjelma on edelleen haavoittuvassa tilassa. Pelkästään bash atop sh -kopiointi on Linux-tyyli tehdä asioita. OS X: n sh -toteutuksessa on kuitenkin eroja bash : sta, joten kannattaa vetää kääntäjä uudelleen. Lisätietoja bash ja sh eroista OS X: ssä löytyy täältä:

https://apple.stackexchange.com/ a / 89327/91441

Tee lataushakemistossa:

  make clean  

Suosikkieditorissasi avaa tiedosto Makefile.in ja selaa riville 99. Aiomme muuttaa Program-riviä siten, että antamamme binääri on sh bash <: n sijasta code> kuten näin:

  Program = sh $ (EXEEXT)  

Tallenna se ja sitten

  ./ configure --prefix = / --enable-xpg-echo-default --enable-tight-posix-defaultmake; sudo make install  

Nyt olet rakentanut sh melkein täsmälleen samalla tavalla kuin Apple.

Viimeinen huomautus: Joissakin (kaikissa?) järjestelmissä Apple näyttää sijoittavan suoritettavan bashbug -kohdan / usr / bin -kansioon. Käännös on laittanut sen kohtaan / bin . Joten viimeiset vaiheet tässä:

  sudo mv / usr / bin / bashbug / usr / bin / bashbug_oldsudo chmod -x / usr / bin / bashbug_oldsudo mv / bin / bashbug / usr / bin / bashbug  
Vastausten on oltava yksin; linkit ovat kunnossa, mutta sinun on myös tiivistettävä sisältö.
Ei valittamista tai mitään, mutta kun kysymys on "miten voin kääntää bash uudelleen" ja vastaukseni on "napsauta seuraavaa linkkiä vastaukseen kysymykseen, näyttää siltä, ​​että yhteenvetovaatimukset ovat voimassa.
FWIW, alle 10.6.8 ja Xcode 3.2.6, konfiguroi loppuun loppuun ilman varoitusta puuttuvasta ohjelmistosta, mutta kokoelma heittää varoitukset yhteen korjatuista tiedostoista (muuttujat.c) ja epäonnistuu sitten tonnilla linkkivirheitä, joihin liittyy _rl_ symboleja.
Anteeksi, että kuulin sen, Seth. Toivon, että pystyt ratkaisemaan sen; muuten sinulla ei ole onnea. Apple lopetti Snow Leopard -päivitysten toimittamisen viime vuoden lopussa.
Selvä: bashin mukana oleva readline-kirjasto ei ole yhteensopiva 10.6: n kanssa. Asenna GNU readline sen sijaan ja hakata sitten bash makefile käyttämään sitä. Asenna readline: ftp://ftp.cwru.edu/pub/bash/readline-6.3.tar.gz Bashissa, konfiguroinnin jälkeen, Makefile, aseta "READLINE_LIB = / usr / local / lib / libreadline.a" ja tee puhdas kääntö. Nauhoita ja kopioi sitten uusi bash-binääri `/ bin / bash` ja` / bin / sh` päälle
Erinomainen, Seth. Hauska nähdä se!
Lisäys: Bash Makefile -ohjelmassa on myös määritettävä `HISTORY_LIB = / usr / local / lib / libhistory.a`. Muuten bash linkitetään dynaamisesti libhistorin / usr / local-versioon.
Huomaa, että Applen opensource -sivulta ladattavassa versiossa on mukautettuja muutoksia, jotta se toimisi OSX: llä. En suosittele vaniljan ylävirran bashin käyttöä, koska muuten et korvaa vastaavaa.
Apple tekee monia muutoksia järjestelmän avoimen lähdekoodin apuohjelmien optimoimiseksi. Tästä huolimatta en voi nähdä, missä vanilja "bash" jotenkin epäonnistuu käyttäytymässä itsessään vain siksi, että ydin on erilainen. Joka tapauksessa pidän ratkaisuni väliaikaisena; lopulta Apple kiertää ongelman korjaamisen ja kootut binäärit korvataan (mikä on tärkein syy koota `` / bin '': ksi ensin.
Minulla on vanha järjestelmä, jossa on OS X v10.4 ja Bash 2.05b, joten en voi päivittää uusimpaan Bash- tai uusimpaan OS X -käyttöjärjestelmään. Noudattin tässä olevia ohjeita ja ladasin Bash 2.05b -lähteen sekä kymmenen korjaustiedostoa . Lisäsin korjaustiedostot ja rakensin Bashin. Tarvitsin klugea yllä olevaan readline-kirjastoon. Korjaus 008 on yksi tämän haavoittuvuuden keskeisistä korjaustiedostoista, ja muun muassa se epäonnistuu toimintamäärittelyyrityksissä ympäristömuuttujista virheilmoituksella "internal_warning ("% s: ohittaa toiminnon määritysyritys ", from_file);"
Äskettäin rakennetun Bashin `merkkijonot` tarkistaa, että uusi virheilmoitus` huomioi toiminnon määritysyritys` on läsnä. Silti, jos suoritan uuden bashin ja sitten annan haavoittuvuustarkastuksen, se näyttää silti haavoittuvan.
@jetset: Käynnistitkö käynnissä olevan Terminal-ilmentymän uudelleen? Voit testata, ovatko asiat kunnossa, vertaamalla mallin `bash --version` ja` echo $ BASH_VERSION` tulosta. Jos jälkimmäinen on alhaisempi versio, käynnistä Terminal uudelleen.
En asentanut vasta rakennettua Bashia; Halusin tarkistaa, että se korjasi ongelman ensin. Joten vedoin sitä vain `. / Bash`: lla ja sitten suoritin siinä haavoittuvuustestin.
Sekä vanha Bash että vasta rakennettu raportoivat saman version (mikä on järkevää, koska käytin manuaalisesti 2.05-korjaustiedostoja): ~ ~ bash / bash-2.05b $ ./bash --version``GNU bash, versio 2.05 b.0 (1) -julkaisu (powerpc-apple-darwin8.11.0) `` ~ / bash / bash-2.05b $ / bin / bash --version '' GNU bash, versio 2.05b.0 (1) -julkaisu (powerpc-apple-darwin8.0) "
Mutta äskettäin rakennetulla Bashilla on uusi virheilmoitus, kun taas vanhalla Bashilla ei ole: Uudella Bashilla on merkkijono: `~ / bash / bash-2.05b $ merkkijonot ./bash | grep 'jättää huomiotta toiminnon määritysyrityksen'% s: jättää huomiotta toiminnon määritysyrityksen '' Vanha Bash ei: `~ / bash / bash-2.05b $ merkkijonot / bin / bash | fgrep 'ohittaa toiminnon määritysyrityksen' '
Jos suoritat haavoittuvuustestien kolme muunnosta ja niitä ei tule esiin, olet kunnossa. Uusimmat 2.05b-korjaustiedostot koskevat ehdottomasti näitä CVE: itä.
Haluat ehkä vaihtaa latauslinkit muotoon https: //
@CousinCocaine: Kyllä, voisin todellakin. Kiitos.
Voisiko kukaan auttaa selvittämään, miksi juuri uudelleen käännetty Bash 2.05b, jossa on kaikki kymmenen kiinnitettyä korjaustiedostoa, näyttää testien mukaan edelleen haavoittuvalta? "Strings" -komento varmistaa, että binaarissa on korjaustiedostoja.
@jetset: Käytitkö "patch" -komentoa laastareidesi asentamiseen yllä kuvatulla tavalla? Muistan, että sanoit muualla, että teit korjauksesi "manuaalisesti".
Kyllä, olen asentanut kaikki kymmenen korjaustiedostoa, mikä on tarkistettu tarkistamalla lähteet. Tuloksena olevan binäärin "merkkijonot" -komento osoittaa, että siinä on uusi virheilmoitus "huomiotta toiminnon määritysyritys", joka lisättiin korjaustiedostoon 008.
Mikä tarkalleen on kolmen hyödyntämis-esimerkin suorittamisen tulos?
Kummankin kolmen hyödyntämistestin tulos on identtinen vanhalla ja korjatulla Bashilla: `$. / Bash` `$ env x = '() {:;}; kaiku haavoittuva 'bash -c' kaiku hei '' 'haavoittuva' 'hei' '$ rm -f kaiku `$ env X =' () {(a) => \ 'sh -c" kaikupäivä "; cat echo sh: X: rivi 2: syntaksivirhe odottamattoman tunnuksen läheisyydessä `= 'sh: X: rivi 2:` `sh: virhe tuotaessasi funktion määritelmää X: lle Ti 30. syyskuuta 17:35:25 PDT 2014` $ env ls = "() {echo 'Game over';}" bash -c ls `` Game over`
Jatka [jatka tätä keskustelua chatissa] (http://chat.stackexchange.com/rooms/17540/discussion-between-jetset-and-trane-francks).
Et ole vielä siirtänyt käännettyä bash-tiedostoa tiedostoon `/ bin ', vai mitä? Hyödynnöt testaavat järjestelmääsi "bash", ei "bash" käännetyissä, mutta vielä asennettavissa binääreissä. Joko asenna binäärit tai vaihda KAIKKI `bash`-esiintymät muotoon`. / Bash`.
Lainatakseni kuuluisaa Simpsonia, "DoH!" Tietenkin testit osoittivat silti haavoittuvia, koska kukin heistä vetoaa järjestelmään "bash" tai "sh", joten minun on muutettava testejä kutsumaan paikallinen `. / Bash` sen sijaan. Jos teen niin, kaikki toimii.
Asenna binäärit ja olet valmis lähtemään. Muista käynnistää Terminal uudelleen varmistaaksesi, että nykyinen kuori käyttää uutta binaaria.
Näen, että @TraneFrancks lähetti saman ratkaisun samalla, kun tajusin sen. Kiitos kaikille avusta.
Mitä tulee eroihin Applen ja GNU-rakennelmien välillä: Ainakin alle 10.8.5, korvaamalla Apple / bin / sh korjattavalla GNU bash: lla Adobe Flash -asennusohjelma epäonnistuu kohdassa "authexec [460]: executing / bin / sh". Tätä ongelmaa ei kuitenkaan esiinny 10.6.8-versiossa, jossa ei ole Apple-korjausta. Joten näyttää ainakin siltä, ​​että Apple-korjaustiedostot ovat suositeltavia myöhemmissä järjestelmissä, mutta GNU-korjaustiedostot saattavat toimia 10.6.8-versiolla.
Olen samaa mieltä siitä, että nämä Apple-korjaustiedostot ovat suositeltavia. Ne vastaavat täysin Shellshock-hyväksikäyttöön.
Pidän paitsi samaa mieltä myös siitä, että @SethNoble, pystyin toistamaan ongelman. Adobe-asennusohjelma toimii hyvin Apple-korjaustiedoston bash / sh 3.2.53 kanssa.
#4
+15
Giacomo1968
2014-09-30 03:23:54 UTC
view on stackexchange narkive permalink

Kaikille, jotka kamppailevat lähdekoodin luomisen kanssa, Apple on julkaissut 29. syyskuuta virallisesti korjaustiedostot Mac OS X: lle 10.9.5, 10.8.5 ja 10.7.5:

Kiitos! Tämä voi olla helpompaa kuin uudelleen kääntäminen monille / useimmille.
@AlBlue suostui. Vaikka se ei olekaan täysin puhdas korjaustiedoissa - kuten jotkut ovat huomauttaneet -, se on paljon parempi kuin ei mitään. Ja paljon turvallisempi kuin jotkut aloittelijat, jotka kokoavat lähdekoodin paniikkina.
Kuten tavallista, ohjelmistopäivityksen etenemisviive on täysin voimassa. Mietin, kuinka kauan paketit näkyvät. On virkistävää nähdä, että Apple reagoi melko nopeasti tähän asiaan!
@TraneFrancks "Kuten tavallista, ohjelmistopäivityksen etenemisviive on täysin voimassa." En todellakaan ymmärrä, kuinka organisaatio, joka lähettää U2: n koko albumin kaikille iOS-käyttäjille, voi jotenkin tukehtua alle 4 Mt: n tietoturvapäivitykseen.
@JakeGould: Heh. Joo, se on nauraa. Tarkistin juuri tämän Lion-järjestelmän ohjelmistopäivityksen ja se väittää, että järjestelmä on ajan tasalla. Sama toisen Mountain Lion -järjestelmän kanssa täällä.
@TraneFrancks Ummm, jos seuraat yllä olevia linkkejä, voit ladata ne suoraan Applelta. Ei tarvitse odottaa ohjelmistopäivitystä.
@JakeGould: Juuri teki niin ja huomaa nyt, että versio on vain 3.2.53 eikä 3.2.54. Apple on edelleen askel taakse.
@TraneFrancks Sinun tulisi lukea yllä tekemäni kommentti, jossa sanon, ** "Vaikka tämä ei olekaan täysin puhdas korjaustiedostossaan - kuten jotkut ovat huomauttaneet - tämä on paljon parempi kuin ei mitään." ** Joten näen tämän nyt hyvin ja suurimmalle osalle siellä olevia paniikkia käyttäjiä.
@JakeGould: olen samaa mieltä. Huomasin vain eron, koska alentaminen 3.2.54: stä 3.2.53: een voi olla ei-toivottavaa niille, jotka ovat jo paikkaaneet järjestelmäänsä.
#5
+5
CousinCocaine
2014-09-25 00:44:10 UTC
view on stackexchange narkive permalink

OS X 10.6.8 - Lumileopardi

@AlBlue -viesti on erittäin täydellinen. OS X 10.6.8 -palvelimellani hänen korjauksensa ei kuitenkaan toimi. Apple ei ole korjannut versiota 10.6.8, eikä @AlBlue selittävät vaiheet toimi Xcode 3.2.6: n (joka on Snow Leopardin uusin versio) kanssa. Saan virheen:

  ** BUILD FAILED ** Seuraavat koontikomennot epäonnistuivat: sh: CodeSign / Users / bas / bash-fix / bash-92 / build / Release / shbash: CodeSign / Users / bas / bash-fix / bash-92 / build / Release / bash (2 vikaa)  

Tästä syystä käytän brew.sh. Kommentoi ajatuksiasi, kun sinulla on parempi ratkaisu OS X 10.6.8 Snow Leopard -sovellukseen. Katso myös @Jeromen kommentti, hänellä oli onnistunut korjaustiedosto OS X 10.6.8 Snow Leopard -laitteessa käyttämällä @ AlBluen ratkaisua. Joka tapauksessa:

Asenna suodatus ensin seuraavalla onelinerillä:

  ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ master / install) " 

Päivitä hautua

  hautumispäivitys  

Nyt vain asenna uusin bash -versio ja korvaa nykyinen:

  hautua asennus bashsudo sh -c 'echo "/ usr / local / bin / bash" >> / etc / shells'chsh -s / usr / local / bin / bashsudo mv / bin / bash / bin / bash-backupsudo ln -s / usr / local / bin / bash / bin / bash  

Voit asettaa oletusarvoisen sisäänkirjautumisen kuoren ' Command (täydellinen polku) ' Terminal.app-sovellukseen sen asetuksissa ( Command , ) enter image description here


Huomaa: Jotkut käyttäjät eivät kommenteissa pidä tätä menetelmää sopivana. Mutta minulle tämä on ainoa ymmärrettävä tapa päivittää BASH OS X 10.6.8 Snow Leopard -sovelluksessa.

Tämä ei kuitenkaan muuta bash-versiota, jota käytetään, kun käynnistät päätelaitteen tai aloitat minkä tahansa muun komentosarjan. komentosarjojen yläosassa on yleensä #! / bin / sh tai bash, joten ohita PATH
myös jotkut skriptit luottavat bash 3: een eivätkä toimi bash 4: n kanssa (macportsilla on kiinteä bash 4.3.25, jonka oletan home-brew: n päivittäneen
Toimenpideohjelma ei pyytänyt tarkkaa versiota 3 tai 4. Tämä on vain yksi tapa tehdä se.
Ei valitsemani ratkaisu, mutta +1 saadaksesi hyödyllistä tietoa, kuten "Kuoret avautuvat" -asetuksen.
Kyllä, sinun on annettava bash 3.x ongelman korjaamiseksi
Korjattu PATH ja oletusterminaalin kuori
Et myöskään päivitä `` sh '' - sinun on myös tehtävä se. `/ bin / sh`! =` / bin / bash`. Monet työkalut kuoriutuvat tiedostoon `/ bin / sh`, kun suoritat järjestelmän komentoja. Esimerkiksi Rubyn `system ()` -kutsu käyttää `/ bin / sh`, kun sinulla on kuoren laajennusmerkki, jota on laajennettava merkkijonossa. Pelaat häviävän pelin Homebrew-ohjelmistolla päivittääksesi järjestelmän binäärit IMO. Päivitä Homebrew'n bash * sen lisäksi, että * päivität järjestelmän binäärit oikein.
Muista, että OSX 10.8 ja 10.9 käyttävät Bash 3.2: ta, joten suoran johdonmukaisuuden vuoksi menin version 3.2 kanssa. Tämä perustui myös Applen viralliseen aiemman version rakentamiseen, joka voi sisältää lisäominaisuuksia, kuten laajennettu attribuuttitietoisuus jne.
Olen päivittänyt kolme 10.6.8-konetta ilman häiriötä AlBluen vastauksessa perjantaina syyskuussa ilmestyneiden BASH-ohjeiden sieppaus- ja uudelleenkääntämisohjeiden mukaan. 26 (eli ilman # ADD_IMPORT_FUNCTIONS_PATCH). Panimopäivityksen tekeminen päivittää kyseisen version, jos olet asentanut sen tällä tavalla - oletko varma, että järjestelmän bashia ei käytetä muualla? Jos ei, valitse AlBluen ratkaisu
@Jerome, Saan virheen `xcodebuild`-vaiheessa. Suoritan xcode 3.2.6. Aluksi se näyttää rakentavan, mutta sitten saan virheen: ** BUILD FAILED ** Seuraavat koontikomennot epäonnistuivat: sh: CodeSign / Users / user / bash-fix / bash-92 / build / Release / shbash: CodeSign / Users / user / bash-fix / bash-92 / build / Release / bash Tämä on, olenko jumissa, ideoita?
Käytän 3.2.6 itseäni kaikissa tapauksissa. Ymmärrän, että koontiversio epäonnistuu suoritettaessa `xcodebuild`? Jos näin on, en kokenut sitä. Minulla on muutama vankka ehdotus, jonka annan sinulle syrjään: tarkista, onko sinulla useita bash-rakennelmia, harkitse puhdistamista (hautu asennuksen poisto) ja mahdollisesti asenna xcode uudelleen ... aloita sitten korjaustiedosto uudestaan.
@Jerome,: n xcode: n puhdistus (suodatuksen poistaminen) ja uudelleenasennus sekä yllä kuvattu korjaustiedosto johti samaan virheeseen. Mutta minulla on oltava jotain outoa järjestelmässäni, koska en ole nähnyt tätä virhettä muualla.
Luulen, että ainoa tapa tietää on rakentaa sama toiselle koneelle. Minulla ei ole aavistustakaan, mitä voi olla tekeillä; Voin vain vaistomaisesti sanoa, että kun kosketat joitain asioita Applen OS x -käyttöliittymällä, kuten yllä, sattuu.
Minulla on ollut * vakavia * työnohjausongelmia käsin rakennetulla varastossa bash-4.3 Snow Leopardilla (jos aloitan emacsin ja keskeytän sen, en voi jatkaa sitä fg: llä). Olen sittemmin ladannut Snow Leopard -lähteen bashille osoitteesta https://opensource.apple.com/release/mac-os-x-1068/, asentanut korjaustiedostot osoitteesta http://ftp.gnu.org/gnu/bash/ bash-3.2-korjaustiedostot /, ja uudistettu paljon paremmin.
#6
+5
Christopher Allen
2014-09-26 03:11:30 UTC
view on stackexchange narkive permalink

Ensinnäkin tämän haavoittuvuuden korjaaminen bash ja sh todennäköisesti rikkoo joitain komentosarjoja Macissa. Sinun ei todellakaan tarvitse tehdä tätä, ellet tarjoa verkkopalveluja julkiselle Internetille suoraan Maciltasi. Joten jos se ei todellakaan ole välttämätöntä, odota, kunnes Applelta tulee virallinen tietoturvapäivitys.

Varoituksena on, että tässä on joitain ohjeita päivityksen tekemiseen Brew on Mavericks 10.9: n avulla. p> Varmista ensin, että käytät vanhentunutta bashia:

  $ which bash / bin / bash $ / bin / bash --versionGNU bash, version 3.2.51 (1) -release (x86_64 -apple-darwin13) Tekijänoikeus (C) 2007 Free Software Foundation, Inc.  

Uusin bash on 4.3.25

Jos Xcode-koodia ei ole asennettu , tarvitset Xcode-komentorivityökalut, jotka voidaan asentaa valitsemalla

  $ xcode-select --install  

Tai kehittäjäportaali.

Brew-ohjelman asentaminen ( http://brew.sh):

  $ ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Sitten tee:

  $ annostelulääkäri 

Noudata ohjeita, jos on ongelmia. Monia yleisiä ongelmia käsitellään täällä.

Päivitä sitten brew uusimpaan pakettiluetteloon:

  $ brew update  

Viimeisimmän bash 4.3.25:

  $ brew install bash  

Tämä asentaa bash: n / usr / local /Cellar/bash/4.3.25/bin/bash

Vanhat bash ja sh ovat edelleen olemassa osoitteissa / bin , joten asennuksen jälkeen vanhat suoritettavat tiedostot nimetään uudeksi tiedostoksi.

  $ sudo mv / bin / bash / bin / bash_old $ sudo mv / bin / sh / bin / sh_old  

Jos olet hyvin paranoidi, voit poistaa suoritusoikeudet bash_old

  $ sudo chmod ax / bin / bash_old / bin / sh_old  

Luo sitten symbolinen linkki uuteen bash 4.3.25: een, joka hautui asennettuna.

  $ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash / bin / bash $ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin / bash / bin / sh  

Käynnistä uudelleen ja se on valmis.

Varoitus - tämä voi rikkoa joitain olemassa olevia komentosarjoja, jotka saattavat luottaa bash 3.2: een, tai eroja, jotka Macilla sh on linuxin sh yli. Lähteiden bash ja sh korvaamiseen on paljon kehittyneempi vastaus, @TraneFranksin vastauksesta samassa säikeessä.

Korjaus 3.2.51: stä 3.2.52: een aiheuttaa paljon vähemmän vahinkoja kuin päivittäminen versioon 4.3.
Varoitan, että se voi rikkoa joitain komentosarjoja, mutta Brew asentaa version 4.3.25 nykyisenä - yritän tarjota version, joka on helppo asentaa ja tehdä se tyhjästä. Ja voit aina palauttaa nimeämällä vanhat suoritettavat tiedostot takaisin.
Haittaohjelma DHCP-palvelin (esim. WiFi-hotspot) voi hyödyntää tätä virhettä ja voi haastaa tietokoneen kokonaan, joten kannattaa korjata ASAP. Muilla vastauksilla on parempi ohje "/ bin / bash" ja "/ bin / sh" korvaamiseksi, mikä todennäköisesti aiheuttaa vähemmän ongelmia kuin päivittäminen Brewin uusimpaan bashiin.
Mac ei välttämättä ole alttiina DHCP-hyökkäykselle.
DHCP-palvelinhyökkäys on mahdollinen vain, jos DHCP-asiakkaasi käyttää Bash-komentosarjoja, joita OS X -käyttöjärjestelmä ei käytä.
Tämä näyttää melko helpolta, mutta se epäonnistuu."mv: ei voi siirtää" / bin / bash "kohtaan" / bin / bash_old ": toiminta ei ole sallittua"
#7
-6
Sarah Vessels
2014-09-30 02:41:59 UTC
view on stackexchange narkive permalink

Voit seurata ohjeita täällä: https://github.com/tjluoma/bash-fix, tee periaatteessa seuraavat asiat terminaalissa:

  curl -s https://raw.githubusercontent.com/tjluoma/bash-fix/master/bash-fix.sh | zsh -f  
Satunnaiskuoren komentosarjojen suorittaminen satunnaisilta github-tileiltä ei ole se, miten pääset turvallisempaan tilanteeseen millä tahansa koneella. Haluat luottaa loppupisteeseen.
Minun on sovittava Ianin kanssa täällä. On todella helppoa luoda dramaattisia vahinkoja epäluotettavien komentosarjojen kautta, kuten ongelmat, joita nämä CVE: t kuvaavat.
Ole täysin eri mieltä FUD: n levittämisestä. LUE kaikki komentosarjat ennen niiden suorittamista ja vain osoitteesta https: //.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...