V balíku pppd (), ktorá umožňuje vykonať svoj kód prostredníctvom odoslania špeciálne upravených požiadaviek na autentifikáciu k systémom používajúcim protokol PPP (Point-to-Point Protocol) alebo PPPoE (PPP cez Ethernet). Tieto protokoly sa zvyčajne používajú poskytovateľmi na organizáciu pripojenia cez Ethernet alebo DSL a taktiež sa využívajú v niektorých VPN (napríklad pptpd a ). Na overenie zraniteľnosti svojich systémov prototyp exploit.
Zraniteľnosť je spôsobená pretečením vyrovnávacej pamäte v implementácii autentifikačného protokolu EAP (Extensible Authentication Protocol). Útok môže byť vykonaný v štádiu pred autentifikáciou prostredníctvom odoslania balíka s typom EAPT_MD5CHAP, ktorý obsahuje veľmi dlhé meno hostiteľa, nedokonalé v pridelenom vyrovnávacej pamäti. V dôsledku chyby v kóde kontroly veľkosti poľa rhostname môže útočník prepísať údaje mimo vyrovnávacej pamäte na zásobníku a dosiahnuť vzdialené vykonanie svojho kódu s právami root. Zraniteľnosť sa prejavuje na strane servera aj klienta, teda môže byť napadnutý nielen server, ale aj klient, snažiaci sa pripojiť k serveru ovládanému útočníkom (napríklad útočník môže najprv hacknúť server cez zraniteľnosť a potom začať napádať pripojených klientov).
Problém sa týka verzií od 2.4.2 do 2.4.8 vrátane a bol odstránený vo forme . Zraniteľnosť taktiež zásobníka , ale v predvolenej konfigurácii v lwIP podpora EAP nie je zapnutá.
Stav odstránenia problému v distribúciách si môžete pozrieť na týchto stránkach: , , , , , , , . V RHEL, OpenWRT a SUSE je balík pppd zostavený s zapnutou ochranou „Stack Smashing Protection“ (režim „-fstack-protector“ v gcc), čo obmedzuje vykonanie cez pád. Okrem distribúcií bola zraniteľnosť taktiež potvrdená v niektorých produktoch (CallManager), a Synology (DiskStation Manager, VisualStation VS960HD a Router Manager), ktoré používajú kód pppd alebo lwIP.
Zdroj: opennet.ru
