U pppd je pronađena greška koja je omogućavala daljinsko izvršavanje koda kao root

Ranjivost u paketu pppd upravo je otkrivena javnosti (CVE-2020-8597) što ozbiljno utječe na neke VPN usluge, DSL veze i Ethernet budući da je pronađena greška dozvolila izvršavanje koda slanjem posebno dizajniranih zahtjeva za provjeru autentičnosti sistemima koji koriste PPP (Point-to-Point Protocol) ili PPPoE (PPP preko Etherneta).

I da li je to kao što smo spomenuli, razni pružaoci usluga često koriste ove protokole za uspostavljanje veza putem Etherneta ili DSL-a, a koriste se i u nekim VPN-ovima, npr. pptpd i openfortivpn.

Da bi testirali podložnost sistema problemu, pripremljen je prototip eksploatacije, koji već dostupan je široj javnosti.

O presudi

Ranjivost je uzrokovana preljevom međuspremnika u implementaciji Proširivog protokola za autentifikaciju (EAP).

Dodatna logička greška uzrokuje da funkcija eap_input () ne provjerava je li EAP dogovoren tijekom faze LCP (Line Control Protocol).

To omogućava neautoriziranom napadaču da pošalje EAP paket čak i ako je ppp odbio pregovaranje o autentifikaciji zbog nedostatka EAP podrške ili zbog neusklađenosti unaprijed podijeljene pristupne fraze dogovorene u LCP fazi.

Ranjivi pppd kôd u eap_input nastavit će obrađivati ​​EAP paket i aktivirati preljev međuspremnika steka.

Ovi neprovjereni podaci nepoznate veličine mogu se koristiti za oštećenje memorije ciljnog sistema. Pppd se često izvodi s visokim privilegijama (sistem ili root) i radi zajedno s pokretačkim programima jezgra. To omogućava napadaču da potencijalno izvrši proizvoljan kôd s privilegijama korijenskog ili sistemskog nivoa.

S tim, napad se može izvesti u fazi prije autentifikacije Proslijedite slanjem paketa tipa EAPT_MD5CHAP, uključujući vrlo dugo ime hosta koje se ne uklapa u dodijeljeni međuspremnik.

Zbog greške u kodu za provjeru veličine polja imena imena, napadač može prebrisati podatke izvan međuspremnika na steku i postignite daljinsko izvršavanje vašeg koda s root privilegijama.

Ranjivost se očituje na strani servera i klijenta, to jest, ne može se napadati samo poslužitelj, već i klijent koji se pokušava povezati s poslužiteljem koji kontrolira napadač (na primjer, napadač može prvo provaliti poslužitelj kroz ranjivost, a zatim početi napadati klijente koji su povezani ).

Ranjivost također utječe na lwIP stog, ali EAP podrška nije omogućena u zadanim postavkama u lwIP-u.

Pogođene verzije i rješenje 

Kao takva otkrivena je ova greška utječe na verzije pppd 2.4.2 do 2.4.8 uključujući i rješava se u obliku flastera. Neki od vas možda znaju da se otkrivanje grešaka široj javnosti događa dugo nakon otkrivanja i rješavanja problema. I, iako ovo traje čitav proces, još uvijek postoji dio korisnika koji mora izvršiti odgovarajuće ažuriranje.

Status rješavanja problema može se pregledati unutar izvještaja glavnih Linux distribucija.

To se može vidjeti u ove stranice: Debian, Ubuntu, RHEL, fedora, SUSE, OpenWRT, svod, NetBSD.

U RHEL-u, OpenWRT-u i SUSE-u, pppd paket je sastavljen uz uključivanje "Stack Smashing Protection" ("-fstack-zaštitnik»U gcc), što ograničava rad zaključavanja.

Pored distribucija, ranjivost je potvrđena i u nekim Cisco proizvodima (CallManager), TP-LINK i Synology (DiskStation Manager, VisualStation VS960HD i Router Manager) pomoću pppd ili lwIP koda.

Kao takav, zakrpa je već dostupna unutar spremišta većine Linux distribucija, a neki su ga već implementirali nudeći ažuriranje paketa.

Ako želite znati više o tome o pronađenoj grešci možete provjeriti detalje i više informacija Na sledećem linku.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.