Právě byla zveřejněna chyba zabezpečení v balíčku pppd (CVE-2020-8597) což vážně ovlivňuje některé služby VPN, připojení DSL a také Ethernet protože nalezená chyba umožňovala spouštět zasílání kódů speciálně navržených požadavků na autentizaci do systémů, které používají PPP (Point-to-Point Protocol) nebo PPPoE (PPP over Ethernet).
A je to tak, jak jsme již zmínili, různí poskytovatelé tyto protokoly často používají navázat spojení přes Ethernet nebo DSL a používají se také v některých VPN, např. pptpd a openfortivpn.
Chcete-li otestovat náchylnost systémů k problému, byl připraven prototyp exploitu, který už je k dispozici široké veřejnosti.
O rozhodnutí
Tato chyba zabezpečení je způsobena přetečením vyrovnávací paměti v implementaci protokolu EAP (Extensible Authentication Protocol).
Další logická chyba způsobí, že funkce eap_input () nekontroluje, zda byl EAP sjednán během fáze Line Control Protocol (LCP).
To umožňuje neověřenému útočníkovi odeslat paket EAP i když ppp odmítl vyjednávání autentizace kvůli nedostatku podpory EAP nebo kvůli nesouladu předem sdílené přístupové fráze odsouhlasené ve fázi LCP.
Zranitelný kód pppd v eap_input bude i nadále zpracovávat paket EAP a spouští přetečení vyrovnávací paměti zásobníku.
Tato neověřená data neznámé velikosti lze použít k poškození paměti cílového systému. Pppd často běží s vysokými oprávněními (systém nebo root) a pracuje ve spojení s ovladači jádra. To umožňuje útočníkovi potenciálně spustit libovolný kód s oprávněními root nebo systému.
S tímto útok lze provést ve fázi před ověřením Předat odesláním paketu typu EAPT_MD5CHAP, včetně velmi dlouhého názvu hostitele, který se nevejde do přidělené vyrovnávací paměti.
Kvůli chybě v kódu ke kontrole velikosti pole rhostname, útočník může přepsat data mimo vyrovnávací paměť na zásobníku a dosáhnout vzdáleného spuštění kódu s oprávněními uživatele root.
Zranitelnost se projevuje na straně serveru a klienta, tj. může být napaden nejen server, ale také klient, který se pokouší připojit k serveru ovládanému útočníkem (například útočník může nejprve hacknout server prostřednictvím chyby zabezpečení a poté zahájit útok na klienty, kteří se připojují).
Zranitelnost ovlivňuje také lwIP stack, ale podpora EAP není povolena ve výchozím nastavení v lwIP.
Ovlivněné verze a řešení
Tato chyba byla detekována ovlivňuje pppd verze 2.4.2 až 2.4.8 včetně a řeší se formou záplaty. Někteří z vás možná vědí, že k odhalení chyb široké veřejnosti dochází dlouho po objevení a vyřešení problému. A i když to trvá celý proces, stále existuje část uživatele, která musí provést odpovídající aktualizaci.
Stav řešení problému lze zkontrolovat uvnitř zpráv o hlavních distribucích Linuxu.
To je vidět na tyto stránky: Debian, ubuntu, RHEL, fedora, SUSE, OpenWRT, Oblouk, NetBSD.
Na RHEL, OpenWRT a SUSE je balíček pppd kompilován se zahrnutím „Stack Smashing Protection“ („-fackový chránič»V gcc), což omezuje činnost zámku.
Kromě distribucí tuto chybu zabezpečení potvrzují také některé produkty Cisco (CallManager), TP-LINK a Synology (DiskStation Manager, VisualStation VS960HD a Router Manager) využívající kód pppd nebo lwIP.
Oprava je již k dispozici v úložištích většiny linuxových distribucí a někteří ji již implementovali nabídnutím aktualizace balíčku.
Pokud se o tom chcete dozvědět více o zjištěné poruše můžete zkontrolovat podrobnosti a další informace Na následujícím odkazu.