Lokalt DoS angrep mulig i 2.6.x-kjernen

Hvis du har flere brukere med lokal tilgang til linux-maskinen din anbefales det å oppdatere/patche kjernen.

Feilen som gjør DoS angrepet mulig ligger i subsystemet ATM (asynkron overførings måte) -- en nettverksprotokoll.

Gjennom å kjøre to svc_listen-kall for samme socket vil det bli laget utildelte PVC/SVC innganger. ATM greier ikke å takle utildelte innganger, så når vi leser av PVC vil kjernen fryse i en uendelig sløyfe.

N.B.! Dette vil mest sannsynlig få systemet til å henge seg.

For å se om systemet ditt kan utnyttes
1) Last ned kildekoden fra http://www.milw0rm.com/exploits/7405
2) Kompiler kildekoden ved å kjøre gcc exploit.c -o exploit
3) Kjør ./exploit

Patch finnes her:
http://marc.info/?l=linux-netdev&m=122841256115780&w=2

Valg for kommentarvisning

Velg din foretrukket måte å vise kommentarer på og klikk på "Lagre innstillinger" for å aktivere endringene.

olear

Hmm, exploiten vil ikke engang kompilere her :) Jeg er imun :P

art3mis

Kompilerer fint, men gjør ingenting på noen av pcene mine (får error når jeg kjører den derimot). Har ikke prøvd på ubuntuen min, som er den eneste uten customlaget kjerne.

ak

Bare påpeker at dette først og fremst er aktuelt på flerbruker maskiner, hvis du kjenner fødselsnummeret til alle som bruker maskinen din så er det antageligvis ikke så nøye.

olear

Dette er ikke en kritisk feil, men det som er interesant er hvordan ting blir løst.

Feilen er i kernel 2.6, men hvilken? I den originale feilmelding står det <= 2.6.27.8, ok. Gjelder dette bare for 2.6.27.x og høyere, eller går det enda lavere? Hvor langt tilbake går det? Jeg kjører 2.6.23, exploiten vil ikke kompilere da jeg mangler noe i headere, men fiksen kan patches mot min kernel.

Problemet med Linux er at de forventer at jeg alltid kjører siste major versjon, noe som jeg ikke kan, da de bryter APIer hele tiden. Da ender jeg plutselig opp med en usikker kernel.

ak

Jeg tror ikke det egentlig forventes at du kjører siste versjon, men Linus forventer at distributøren skal ta seg av sikkerhetspatcher, slik at han og utviklere ikke blir nedlesset med å backporte dette til alle mulige versjoner.

Jeg har abonnement på sikkerhetsoppdateringer fra Red Hat og Ubuntu, det gir som regel en grei oversikt over de som virkelig er kritiske og så finner jeg alltid en måte å få patchene ut på dersom det trengs.

Ser ikke ut til at det har vært kernel oppdateringer fra Ubuntu siden november ihvertfall
http://www.ubuntu.com/usn/usn-679-1

olear

Problemet er at de bare gir ut patcher for den siste stabile kernel, av og til hvis hullet er kritisk også for "old-stable", men der stopper det (deres policy er bare å støtte siste stable, alt annet er ikke deres ansvar lengre). De sjekker heller ikke hvor feilen startet, bare hvor den ble funnet. Så jeg vet da ikke om jeg er truet eller ikke. Om jeg i det hele tatt finner ut om jeg er åpen for en exploit eller ikke, dukker patch-problemet opp, utgitte patcher fungerer vanligvis ikke så langt tilbake, så jeg må lage patcher selv, mye jobb for en som ikke har peiling på hvordan ting fungerer på kildekodenivå (overdriver litt, greier vanligvis å finne det ut, men det tar unødvendlig lang tid).

Jeg holder meg oppdatert, så jeg vet alltids når det dukker opp alvorlige bugs, men det hjelper vanligvis ikke situasjonen. Den kernel jeg kjører nå har iallefall tre CVE som ikke er fikset, og vil mest sansynelig ikke bli fikset da jeg ikke greier å patche feilen (jeg vet hva som er feil og har patcher for nyere kerneler).

Jeg ber heller ikke om backports til alle kerneler, bare mer informasjon og testing. Aller helst en ny (2.6.16 er for gammel og har dårlige headere) stabil kernel.

  • Skriv ut artikkel
  • Abonner med RSS

Siste kommentarer