image

Gapend gat in Ubuntu gepatcht

vrijdag 9 juli 2010, 09:13 door Redactie, 33 reacties

Het ontwikkelteam van Ubuntu heeft een zeer belangrijke update uitgebracht voor een lek waardoor aanvallers kwetsbare systemen kunnen overnemen. Met name beheerders van systemen met meerdere gebruikers doen er verstandig aan te patchen, aangezien er al een exploit in omloop is die aanvallers toegang tot het wachtwoord bestand geeft. Die kunnen het bestand niet alleen lezen, maar ook aanpassen. De kwetsbaarheid is aanwezig in Ubuntu 9.10 en Ubuntu 10.04 LTS.

Linux
Het probleem wordt veroorzaakt door de rechten waarmee de voorwaarden in de local cache directory van de gebruiker na het inloggen wordt opgeslagen. Het bestand is ontworpen om te laten zien of de voorwaarden zijn getoond, maar de module die deze functie uitvoert, doe dit met rootrechten.

Via een symlink van de cache naar het wachtwoord bestand, kan de gebruiker een nieuwe login opgeven. Het probleem zou alleen bij Ubuntu en niet bij andere Linux-distributies spelen.

Reacties (33)
09-07-2010, 09:41 door Anoniem
Exploit kan alleen uitgevoerd worden als je lokaal toegang tot de machine hebt.
Maar toch,... beetje jammer...

bl33p
09-07-2010, 09:49 door ej__
Het is een local exploit, je moet toegang hebben tot een systeem om deze exploit te kunnen gebruiken.

EJ
09-07-2010, 09:52 door Anoniem
@EJ:

Niet alleen leuk voor local hoor, je kan ook mooi privilege escalation doen (i.e. vanaf afstand als gewone gebruiker, daarna via deze truuk root).
09-07-2010, 09:54 door Victor69
Door ej__: Het is een local exploit, je moet toegang hebben tot een systeem om deze exploit te kunnen gebruiken.

EJ

En? Wat wil je hier nu mee zeggen?
09-07-2010, 10:04 door ej__
Impact is kleiner dan de titel doet vermoeden. Het is geen remote exploit. Dat wordt nergens in het security.nl artikel vermeld, maar blijkt alleen uit de gelinkte artikelen.

EJ
09-07-2010, 10:09 door Duck-man
Door Victor69:
Door ej__: Het is een local exploit, je moet toegang hebben tot een systeem om deze exploit te kunnen gebruiken.

EJ

En? Wat wil je hier nu mee zeggen?

Dat je achter de computer moet zitten waar in wilt gaan klooien.

Met name PC's op openbare plekken lopen gevaar. Hier zo je dan root rechten op kunnen krijgen en een keylogger of iets van die aard op kunnen zetten. Thuis gebruikers hebben hier geen last van.
09-07-2010, 10:18 door Anoniem

Dat je achter de computer moet zitten waar in wilt gaan klooien.


klopt niet, als een gebruiker remote een shell heeft is voldoende

achter een pc zitten is meestal zowiezo een issue tenzij je alle opstart media uitschakeld


hoberion
09-07-2010, 10:19 door Anoniem
Zoals EJ al aan geeft is deze exploit nauwelijks een "gapend gat" te noemen aangezien het alleen lokaal uitgebuit kan worden. Neemt niet weg dat iedereen het maar beter kan patchen, wat standaard al automatisch gebeurt.

Rest de vraag wie er deze keer heeft betaald voor deze storm in een glas water.
09-07-2010, 11:32 door U4iA
Wel handig als je als werknemer even het wachtwoord bestand wil inzien.
09-07-2010, 11:44 door Anoniem
Ik zal maar eens gaan updaten op de pc,want ik heb een jongere broer in China wonen,die wel eens via mijn pc hier moet inloggen met zijn private key.
Dit om de great firewall in China te omzeilen.
Dus veiligheid van is dan wel geboden,want ik wil niemand anders dan hij op mijn pc hebben van buiten af.
09-07-2010, 12:36 door Anoniem
Door Duck-man:
Dat je achter de computer moet zitten waar in wilt gaan klooien.

Met name PC's op openbare plekken lopen gevaar. Hier zo je dan root rechten op kunnen krijgen en een keylogger of iets van die aard op kunnen zetten. Thuis gebruikers hebben hier geen last van.

Dit klopt niet, je moet gewoon toegang hebben tot de machine.
Niet fysiek, een shell is genoeg.

Local exploit wilt zeggen dat het lokaal uitgevoerd moet worden om te werken, maw op de machine, maar dit vereist geen fysieke toegang.

Andere exploits zoals bv de autorun functie van MS is een local exploit die wel fysieke toegang vereist, een verbinding hebben naar die machine met remote desktop of via de terminal server is hier niet voldoende.
09-07-2010, 12:42 door Silver
Door U4iA: Wel handig als je als werknemer even het wachtwoord bestand wil inzien.

Valt wel mee. De passwords horen ook in dat bestand encrypted te zijn. Het ontcijferen van het wachtwoord vereist dus ook met dit lek nog wel enige technische kennis.
09-07-2010, 13:08 door Anoniem

Linux
Het probleem wordt veroorzaakt door de rechten waarmee de voorwaarden in de local cache directory van de gebruiker na het inloggen wordt opgeslagen. Het bestand is ontworpen om te laten zien of de voorwaarden zijn getoond, maar de module die deze functie uitvoert, doe dit met rootrechten.

Via een symlink van de cache naar het wachtwoord bestand, kan de gebruiker een nieuwe login opgeven.

Deze tekst maakt toch zeer duidelijk dat het een local exploit is.

'na het inloggen' 'symlink' zou genoeg moeten zeggen.
09-07-2010, 13:27 door ej__
Door Silver:
Door U4iA: Wel handig als je als werknemer even het wachtwoord bestand wil inzien.

Valt wel mee. De passwords horen ook in dat bestand encrypted te zijn. Het ontcijferen van het wachtwoord vereist dus ook met dit lek nog wel enige technische kennis.
En als goede wachtwoorden worden afgedwongen dan valt de impact helemaal mee (even geen rekening houdend met md5 collissions).
09-07-2010, 13:28 door Anoniem
Eigenlijk zijn de implicaties groter dan wat er hier al gezegd geweest is. Als je in passwd kan, kan je bij je eigen (non priv) user de group & id veranderen naar 0. Je logt in me tje wachtwoord en je hebt ineens root privs.

Kan wel gevolgen hebben op een shared server.
09-07-2010, 13:57 door Anoniem
Is deze exploit nu ook openbaar gemaakt zonder dat er een patch was?
09-07-2010, 14:52 door mafvisje
Daar komen jullie van security.nl ook laat achter, ik kreeg gisteren rond de klok van 12 de update al.

Jullie van Security.nl weten linux lekken altijd, zo verschrikkelijk op te blazen. Jullie beweren dus dat dit ook van buitenaf kan worden gebruikt? Dacht het niet.

De pakketten die gisteren geupdate zijn waren:
libpam-modules (1.1.1-2ubuntu2) to 1.1.1-2ubuntu5
libpam-runtime (1.1.1-2ubuntu2) to 1.1.1-2ubuntu5
libpam0g (1.1.1-2ubuntu2) to 1.1.1-2ubuntu5
09-07-2010, 15:12 door ej__
Door Anoniem: Eigenlijk zijn de implicaties groter dan wat er hier al gezegd geweest is. Als je in passwd kan, kan je bij je eigen (non priv) user de group & id veranderen naar 0. Je logt in me tje wachtwoord en je hebt ineens root privs.

Kan wel gevolgen hebben op een shared server.
Nee, dat kan niet. Je hebt toegang gekregen tot de shadow file. Lekker belangrijk mits je goede wachtwoorden gebruikt en een goed wachtwoord beleid hebt.

En inderdaad: local betekent dat je ingelogd moet zijn op de machine, dus mag ook met een remote shell.

Duh.

EJ
09-07-2010, 16:53 door Anoniem
Door ej__:
Door Anoniem: Eigenlijk zijn de implicaties groter dan wat er hier al gezegd geweest is. Als je in passwd kan, kan je bij je eigen (non priv) user de group & id veranderen naar 0. Je logt in me tje wachtwoord en je hebt ineens root privs.

Kan wel gevolgen hebben op een shared server.
Nee, dat kan niet. Je hebt toegang gekregen tot de shadow file. Lekker belangrijk mits je goede wachtwoorden gebruikt en een goed wachtwoord beleid hebt.

En inderdaad: local betekent dat je ingelogd moet zijn op de machine, dus mag ook met een remote shell.

Duh.

EJ

De exploit is niet specifiek voor alleen de shadow file, maar kan ook voor /etc/passwd. Je hebt veel opties tbh.
09-07-2010, 17:21 door Eerde
Het wachtwoord beleid van klikkerdeklik-ik-wil-op-windows-lijken Ubuntu was toch altijd al vreemd.
User en root moeten echt verschillende ww'den hebben en niet de user met sudo het root ww geven om verder te kunnen.
09-07-2010, 17:29 door ej__
Door Eerde: Het wachtwoord beleid van klikkerdeklik-ik-wil-op-windows-lijken Ubuntu was toch altijd al vreemd.
User en root moeten echt verschillende ww'den hebben en niet de user met sudo het root ww geven om verder te kunnen.
Wat is er mis met de gedachte dat er een admin user is? En geen root wachtwoord? En root wel te bereiken via ssh keys?

Je moet toch echt aannemen dat een professionele omgeving net even wat beter is opgezet dan het prutswerk van een thuisgebruikertje, wat bij ubuntu (en osx) overigens nog atijd 10x beter is dan de klikkerdeklikikgeeftoestemmingklikklikklik van windows uac. En als je vindt dat root een wachtwoord moet hebben, dan zet je dat toch gewoon aan?

EJ
09-07-2010, 17:38 door Anoniem
Door Anoniem: Eigenlijk zijn de implicaties groter dan wat er hier al gezegd geweest is. Als je in passwd kan, kan je bij je eigen (non priv) user de group & id veranderen naar 0. Je logt in me tje wachtwoord en je hebt ineens root privs.
Dat kan niet omdat de exploit alleen leesrechten geeft. Je kon voor elkaar krijgen dat in plaats van de message of the day de shadow password file getoond werd. Dat het je lukt om pam_motd een verkeerd bestand te laten tonen wil niet zeggen dat pam_motd opeens getoonde bestanden gaat overschrijven.
Door ej__: Nee, dat kan niet. Je hebt toegang gekregen tot de shadow file. Lekker belangrijk mits je goede wachtwoorden gebruikt en een goed wachtwoord beleid hebt.
Het kan niet omdat je geen schrijfrechten krijgt, niet omdat de exploit alleen op /etc/shadow zou werken, een symlink naar /etc/passwd is net zo makkelijk te maken.

Zelfs al maakt een wachtwoordbeleid het misbruik van /etc/shadow moeilijker, dan nog is het een verdedigingslinie minder als je de hashes kan lezen, en daar moeit je nooit blij mee zijn. Dat bestand is niet voor niets onleesbaar voor gewone gebruikers. Wel belangrijk dus.
09-07-2010, 17:45 door Anoniem
Door Eerde: User en root moeten echt verschillende ww'den hebben en niet de user met sudo het root ww geven om verder te kunnen.
Het gebruik van sudo impliceert beslist niet dat de user het rootwachtwoord moet krijgen. Het mooie van sudo is nou juist dat je op basis van het eigen wachtwoord van de user selectief toegang tot specifieke commando's kan geven.
09-07-2010, 17:46 door Anoniem
Ik heb Ubuntu 10.04 weer bijgewerkt,wel vreemd eerst had ik het ophalen van de pakket bronnen ingesteld op de server van de universiteit van Twente,welke ook een Ubuntu mirror hebben.
Dit om de downloadsnelheid sneller te hebben vanwege de afstand.
Want Downloaden kan ook wel eens sneller gaan wanneer de afstand tot een server korter is.
Maar die bleek dus niet gesynchroniseerd te zijn met de hoofdserver van Canonical.
Daardoor liep ik wat updates mis.
Toen ik mijn Ubuntu weer heb ingesteld om de pakketten op te halen van de Canonical (hoofdserver van Ubuntu) server,kreeg ik ineens 138 updates voor Lucid Lynx voor de kiezen.
Nu pas heb ik dus mijn systeem goed up to date.
Ik zag er ook de paketten tussen zitten die hier besproken zijn,welke ook zijn bijgewerkt naar de gepatchte versie.
09-07-2010, 18:27 door Anonymus
Het enige dat ik zie, is dat Ubuntu gewoon veel onvriendelijker is. En natuurlijk zijn er altijd eikels die menen dat ze zo deskundig overkomen als ze een Linuxproduct gebruiken en geen klikkerdeklik. Vertel mij nou toch eens waarom het allemaal veel moeilijker hanteerbaar moet zijn? Omdat je dan geen Windowslul bent? Zielig. Gewoon zielig. Waarom zou een gewoon iemand niet mogen computeren? En dan nog: als het Windows was geweest, wisten we meteen dat er een lek was, bij andere producten, zoals dus Linux, wordt dat pas bekend gemaakt als er een patch is. Niet direct een handige manier om zo veilig mogelijk te werken. Dus wie is er dan onverantwoord bezig? Maar zolang het geen Microsoft is, vindt Eerde alles best. Wat bewijst dat hij alles behalve een deskundige is. Hij heeft maar één doel: hoe kun je zo lullig mogelijk alles van Microsoft afkraken. Feiten zijn onbelangrijk. Wat dus alles zegt over de mentaliteit van meneer Eerde.
09-07-2010, 18:47 door ej__
Door Anonymus: Het enige dat ik zie, is dat Ubuntu gewoon veel onvriendelijker is. En natuurlijk zijn er altijd eikels die menen dat ze zo deskundig overkomen als ze een Linuxproduct gebruiken en geen klikkerdeklik. Vertel mij nou toch eens waarom het allemaal veel moeilijker hanteerbaar moet zijn? Omdat je dan geen Windowslul bent? Zielig. Gewoon zielig. Waarom zou een gewoon iemand niet mogen computeren? En dan nog: als het Windows was geweest, wisten we meteen dat er een lek was, bij andere producten, zoals dus Linux, wordt dat pas bekend gemaakt als er een patch is. Niet direct een handige manier om zo veilig mogelijk te werken. Dus wie is er dan onverantwoord bezig? Maar zolang het geen Microsoft is, vindt Eerde alles best. Wat bewijst dat hij alles behalve een deskundige is. Hij heeft maar één doel: hoe kun je zo lullig mogelijk alles van Microsoft afkraken. Feiten zijn onbelangrijk. Wat dus alles zegt over de mentaliteit van meneer Eerde.
Onvriendelijker dan wat? Heb je ooit wel eens Ubuntu gebruikt? En dan bedoel ik _echt_ gebruikt? Zo ja, dan zou je niet met je verhaal komen. Ubuntu kun je op zo ongeveer alle hardware installeren en gebruiken, inclusief oude(re) hardware en nog steeds inclusief eye-candy. Heb je dat wel eens met windows geprobeerd? Het gezeur met drivers gezien? (Nee, meneer u moet een nieuwe computer kopen, versie blabla ondersteunt alleen de nieuwste hardware).

En nee, ook bij Linux wordt full disclosure toegepast, kwestie van de juiste mailinglijsten bekijken, maar dat is misschien te veel moeite voor je? En deze thread is geen windows rant, maar een linux onvolkomenheid. Ook geen rant.

Daarnaast denk ik dat ik Eerde wel weerwoord geef. :D Daar heb geen windowsfanboy voor nodig. Dan krijgt hij nog gefundeerd weerwoord ook, in tegenstelling tot jouw rant.

EJ
09-07-2010, 20:29 door [Account Verwijderd]
[Verwijderd]
09-07-2010, 21:40 door Eerde
@Vandaag,18:27 doorAnonymus

Humor, heb ik een keer kritiek op Linux, Ubuntu in dit geval, is het weer niet goed :(
10-07-2010, 01:50 door Anoniem
Gewoon om even te zeiken... geen Linux flamewar please...

Ubuntu is best leuk, maar ik denk zelf dat Mandriva een stuk verder is. Ze nemen wat meer risico door nieuwe versies eerder uit te brengen dan andere distro's, maar vind dat ze het wel erg goed doen. Ze waren bv. 1 van de eersten met KDE4 stable in hun standaard distro.

En als ik op mn werk weer es een oude verrotte Dell server tegenkom, dan kan ik die altijd reviven met een cd van Mandrake. Die distro vreet tenminste die hardware, dat kan je met een standaard bootdisk vergeten.

Just my 2c.
10-07-2010, 10:55 door Anoniem
Met één groot verschil! Is dat je deze update kan toepassen zonder daarna weer te rebooten!
Bij Windows moet je voor elke puf of scheet opnieuw opstarten.

Een programma wat ik iedere Ubuntu (en Debian) systeem kan aanbevelen is apticron.
http://www.cyberciti.biz/faq/apt-get-apticron-send-email-upgrades-available/

Je krijgt dan automatisch een melding als er een update is voor een pakket, beter is natuurlijk om je aan te melden op de security maillist. Maar dit helpt ook enorm.

Ubuntu start bij mij virtueel sneller op dan Windows op een fysiek systeem, en dan heb ik ook echt alle eycandy die er is ;)
10-07-2010, 13:33 door SirDice
Door Anoniem:
Door Anoniem: Eigenlijk zijn de implicaties groter dan wat er hier al gezegd geweest is. Als je in passwd kan, kan je bij je eigen (non priv) user de group & id veranderen naar 0. Je logt in me tje wachtwoord en je hebt ineens root privs.
Dat kan niet omdat de exploit alleen leesrechten geeft. Je kon voor elkaar krijgen dat in plaats van de message of the day de shadow password file getoond werd. Dat het je lukt om pam_motd een verkeerd bestand te laten tonen wil niet zeggen dat pam_motd opeens getoonde bestanden gaat overschrijven.
Door ej__: Nee, dat kan niet. Je hebt toegang gekregen tot de shadow file. Lekker belangrijk mits je goede wachtwoorden gebruikt en een goed wachtwoord beleid hebt.
Het kan niet omdat je geen schrijfrechten krijgt, niet omdat de exploit alleen op /etc/shadow zou werken, een symlink naar /etc/passwd is net zo makkelijk te maken.

Zelfs al maakt een wachtwoordbeleid het misbruik van /etc/shadow moeilijker, dan nog is het een verdedigingslinie minder als je de hashes kan lezen, en daar moeit je nooit blij mee zijn. Dat bestand is niet voor niets onleesbaar voor gewone gebruikers. Wel belangrijk dus.
Als ik de patch goed lees wordt de gebruiker owner van de gesymlinkte file. En de owner mag wel degelijk schrijven. Nadat je deze exploit dus uitgevoerd hebt kun je dus wel degelijk bijv. /etc/passwd aanpassen.

41+ if (asprintf(&dir, "%s/.cache", pwd->pw_dir) == -1)
42+ return;
43+ mkdir(dir, 0755);
44+ chown(dir, pwd->pw_uid, pwd->pw_gid);

Bedenk ook dat dit eventueel via een lekke web applicatie is te misbruiken. Zo kun je dus de www/nobody user waar de webserver op draait root geven. Ja, je hebt er een additioneel lek voor nodig maar het scenario is niet geheel ondenkbaar.
10-07-2010, 18:08 door Anoniem
Door SirDice:
Als ik de patch goed lees wordt de gebruiker owner van de gesymlinkte file. En de owner mag wel degelijk schrijven. Nadat je deze exploit dus uitgevoerd hebt kun je dus wel degelijk bijv. /etc/passwd aanpassen.
I stand corrected, ik was helemaal op het verkeerde been gezet door het idee dat pam_motd alleen maar iets leest en aan de gebruiker toont, zoals de man-page (ook in Ubuntu) meldt:

http://manpages.ubuntu.com/manpages/lucid/man8/pam_motd.8.html

De patch zelf had ik niet gelezen, en als het artikel hierboven niet tussentijds is aangepast heb ik dat ook niet goed gelezen, er wordt expliciet vermeld dat het aangevallen bestand kan worden gewijzigd.

Ik zie dat Ubuntu een update-motd package heeft gehad om de de motd dynamisch bij te werken. Men was bezorgd over resourcegebruik en heeft men het opgelost door de functionaliteit in pam_motd te integreren, zodat die bij elke login wordt uitgevoerd.

https://bugs.launchpad.net/ubuntu/+source/pam/+bug/399071

Ze hebben dus twee functies vermengd, de read-only-natuur van pam_motd aangepast en daar een inderdaad gapend lek mee geopend. Of zat hetzelfde lek ook al in update-pam? Ze maakten zich meer zorgen over de bescheiden resource-impact van een daemon die vermoedelijk vrijwel continu niets staat te doen, dan over het idee dat ze met root-rechten wijzigingen gingen doen die beïnvloed konden worden door van individuele gebruikers. Of liever gezegd, ze kwamen niet op dat idee. Ze leken bij wijzigingen, nota bene in een pam-module, nauwelijks of geen oog voor beveiliging te hebben. Brrr, dat is geen goede beurt.
10-07-2010, 20:35 door Anoniem
The vulnerable code would allow any user with local login privileges to escalate to root.

met andere woorden .... anything is fair game... root = world at your fingertips.


Door Anonymus:
En dan nog: als het Windows was geweest, wisten we meteen dat er een lek was, bij andere producten, zoals dus Linux, wordt dat pas bekend gemaakt als er een patch is.
Niet direct een handige manier om zo veilig mogelijk te werken.
Dus wie is er dan onverantwoord bezig?


Hier moet toch even een correctie op volgen :

Als het een ms product was zou je van niets weten tot het gepatcht is, ondanks dat er waarschijnlijk wel exploits in het wild zijn.

Als er disclosure geweest is naar MS betekend dit LETTERLIJK dat je er niets van vrijgeeft tot ms de kans heeft gehad het te fixxen, dan krijg je wel de 'eer' van de details over de gaten vrij te geven.

Als de exploit rechtstreeks in het wild ontdekt word, zonder enige vorm van disclosure naar ms toe zal je er zeker wel van horen, adhv een headline : "weer botnet ontdekt met XXX,XXX machines".

De tijd tussen ontdekking en patching zal in het geval van microsoft vele weken, maanden al dan niet jaren zijn.
(Google er maar eens op, meerdere grote gaten die JAREN gekend waren en zelfs overgaan zijn in nieuwere producten!!)
De standaard is een patch binnen de 60 dagen .. 60 dagen ... weet jij hoeveel schade je kan doen met een exploit voor zo'n grote hoeveelheid systemen binnen de 60 dagen ? .....

Indien je toch je mond opendoet over de exploit dan krijg je verhalen zoals Tavis Ormandy net heeft voorgehad.
En word jij nog als de schuldige van het gat voorgesteld, omdat jij er de wereld kennis van geeft.
Niet de ontwikkelaar van het product die verantwoordelijk is voor het gat.......

Als je niet weet dat er iets stuk is kan je er ook niets aan doen.
En ZELFS al weet je dat er iets stuk is, wilt het nog niet zeggen dat je er effectief iets aan kan doen, soms kan je het oplappen, soms niet.

Bij Open Source moet je wachten tot de 1e techneut een temporary patch beschikbaar stelt, of het gewoon zelf even doen, en dan even wachten op officiele updates, maar je bent in tussentijd toch al veilig.


Er zijn bedrijven met vrij goede security records en toch closed source, maar helaas kan je microsoft hier ECHT niet gaan bijrekenen .....


Dus kom aub niet af met
"Niet direct een handige manier om zo veilig mogelijk te werken.
Dus wie is er dan onverantwoord bezig?"


Want volgens de realiteit slaat de teller toch volledig de andere kant uit hoor ...
Struisvogel tactieken werken in weinig omstandigheden, en al helemaal niet in de security wereld.


"Security through Obscurity means you invent something new that they have to figure out once stuff is broken, it doesn't mean you're actually safer, it just means you've delayed them a bit in getting in again."

"Open source means a zillion eyes, both bad and good, could be looking at your code, and see potential bugs. What do you trust more, tried and tested by a half a zillion people, or something reviewed by the 100 people actually developing the product ?"
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.