Post by Jouko HolopainenPost by Reijo Korhonen1. Bash on paska, koko toiminnallisuus on idioottimainen. 2. /bin/sh
ei saisi olla Bash, monesta muustakin syystä. 3. Tämä ei jää tähän,
vastaavia vikoja Bashistä tulee löytymään - nyt kun ruvetaan etsimään.
4. "Many eyes" myytti ehkä lopultakin pistetään unholaan. Ehkä. 5.
Apache on paska, \W -merkit olisi pitänyt poistaa kaikesta
tällaisesta.
Jaa, Ubuntu 10.04 LTS
warning: x: ignoring function definition attempt bash: error importing
function definition for `x' this is a test
Ooo! On se mahtava kun se on 20 vuoden jälkeen lopultakin - melkein -
korjattu! Paitsi että ei ole.
env x='()' ; echo vulnerable; bash -c "echo this is a test"
Ei. Se on rikottu. Testini ei nyt rivittynyt kauniisti, mutta Ubuntu
10.04 LTS:ssa ei ole tätä haavoittuvuutta, mutta sen voi löytää
myöhemmistä Ubuntuista.
Tämä merkitsee sitä, että kun sitä ei ole vanhemmissa bash koodeissa, se
voidaan siis korjata uudemmista. Tai otaa yksinkestaisesti sama bash
versio käyttöön, joka löytyy Ubuntu 10.04 LTS:stä.
Vaarallinenhan täsätä haavoittuvuudesta tulee vain, jos joku ulkopuolinen
pääsee ajamaan sitä. Jokainen voi omalla koneellaan helpommin rikkoa sen
ihan itse ajamalla suoraan rikkovat komennot ilman kikkailua.
Havoittuvvuksia on paikoissa, joisa assetetaan ympäristömuuttujia
ulkopuolisen antaman tiedon perusteella. En osaa sanoa missä näin
tehtäisiin, mutta netissä puhutaan web-palveluista. Tässä totta kai
ollaan oikeilla jäljillä, sillä haavoittuvuus on vaarallinen vain, jos
koneeseen pääsee jollain tavalla netistä yhteyteen. Useimmilla
kotikäyttäjillä näin ei ole, ei minullakaan. Useimmat ovat adsl-modeemin
takana ja adsl-modeemiin on säädetty palomuuri niin, että netistä päin ei
pääse sisään ollenkaan ja sen lisäksi kotikäyttäjä ei ole edes säätänyt
päälle yhtään palvelua koneeseensa, joten kotikone ei edes ota
palvelupyyntöjä vastaan.
Toisekseen itse palvelujen ei tarvitse käyttää bashia, vaan ne voivat
käyttää muitakin komentotulkkeja, kuten ash, csh, ksh, sh tai zsh. Jos
asia mietityttää, niin bashin voi poistaa ja laittaa toisen komentotulkin
tilalle. Se on onneksi helppoa erityisesti palvelimissa, sillä miissä
ajetaan vain pientä määrää tiedettyjä ohjelmia. Vaikeuksia kun vaihdosta
tulee vain, jos jokin ohjelma käyttää jotain bashin erityispiirrettä,
mitä toisessa komentotulkissa ei ole. Vaihto-ohjeet ovat täällä <https://
wiki.ubuntu.com/ChangingShells>.
Mutta toki kaikki päivitykset kannattaa asentaa. Mutta minä en nyt taida
edelleenkään vaihtaa tämän koneen Ubuntu 10.04 LTS:ää uudenpaan Ubuntuun.
Hyvin toimii ja tästä läytyy oikea valikko. Uudemmista ei löydy.
--
***@iki.fi.nospam.invalid
http://www.iki.fi/Reijo