È stato trovato un bug in pppd che permetteva di eseguire il codice da remoto come root

Una vulnerabilità nel pacchetto pppd è stata appena rivelata al pubblico (CVE-2020-8597) che colpisce seriamente alcuni servizi VPN, connessioni DSL e anche Ethernet poiché l'errore trovato ha consentito di eseguire codice inviando richieste di autenticazione appositamente progettate a sistemi che utilizzano PPP (Point-to-Point Protocol) o PPPoE (PPP over Ethernet).

Ed è che, come abbiamo detto, diversi provider utilizzano spesso questi protocolli per stabilire connessioni via Ethernet o DSL e sono utilizzati anche in alcune VPN, ad esempio pptpd e openfortivpn.

Per testare la suscettibilità dei sistemi al problema, è stato preparato un prototipo di exploit, che già è disponibile al pubblico in generale.

Sulla sentenza

La vulnerabilità è causata dall'overflow del buffer nell'implementazione EAP (Extensible Authentication Protocol).

Un errore logico aggiuntivo fa sì che la funzione eap_input () non controlli se EAP è stato negoziato durante la fase LCP (Line Control Protocol).

Ciò consente a un utente malintenzionato non autenticato di inviare un pacchetto EAP anche se ppp ha rifiutato la negoziazione dell'autenticazione per mancanza di supporto EAP o per una mancata corrispondenza di una passphrase precondivisa concordata nella fase LCP.

Il codice pppd vulnerabile in eap_input continuerà a elaborare il pacchetto EAP e attiverà l'overflow del buffer dello stack.

Questi dati non verificati con una dimensione sconosciuta possono essere utilizzati per danneggiare la memoria del sistema di destinazione. Il pppd spesso viene eseguito con privilegi elevati (sistema o root) e funziona insieme ai driver del kernel. Ciò consente a un utente malintenzionato di eseguire potenzialmente codice arbitrario con privilegi di root o di sistema.

Con questo, un attacco può essere eseguito nella fase prima dell'autenticazione Passa inviando un pacchetto con tipo EAPT_MD5CHAP, incluso un hostname molto lungo che non si adatta al buffer allocato.

A causa di un bug nel codice per controllare la dimensione del campo rhostname, l'attaccante può sovrascrivere i dati al di fuori del buffer sullo stack e ottenere l'esecuzione remota del codice con i privilegi di root.

La vulnerabilità si manifesta sul lato server e clientcioè, non solo il server può essere attaccato, ma anche il client che cerca di connettersi al server controllato dall'aggressore (ad esempio, un malintenzionato può prima hackerare il server attraverso la vulnerabilità e poi iniziare ad attaccare i client che si connettono).

Vulnerabilità influisce anche sullo stack lwIP, ma il supporto EAP non è abilitato nelle impostazioni predefinite in lwIP.

Versioni e soluzioni interessate 

Come tale, questo errore rilevato influenza le versioni di pppd dalla 2.4.2 alla 2.4.8 inclusivo e viene risolto sotto forma di patch. Alcuni di voi sapranno che la divulgazione di bug al pubblico in generale avviene molto tempo dopo la scoperta e la risoluzione del problema. E, sebbene questo richieda un intero processo, c'è ancora la parte dell'utente che deve eseguire l'aggiornamento corrispondente.

Lo stato di risoluzione dei problemi può essere riesaminato all'interno dei report delle principali distribuzioni Linux.

Questo può essere visto in queste le pagine: Debian, Ubuntu, RHEL, Fedora, SUSE, OpenWRT, Arco, NetBSD.

Su RHEL, OpenWRT e SUSE, il pacchetto pppd è compilato con l'inclusione di "Stack Smashing Protection" ("-fstack-protettore»In gcc), che limita l'operazione di blocco.

Oltre alle distribuzioni, la vulnerabilità è confermata anche in alcuni prodotti Cisco (CallManager), TP-LINK e Synology (DiskStation Manager, VisualStation VS960HD e Router Manager) utilizzando codice pppd o lwIP.

Come tale la patch è già disponibile all'interno dei repository della maggior parte delle distribuzioni Linux e alcuni l'hanno già implementato offrendo l'aggiornamento del pacchetto.

Se vuoi saperne di più sull'errore riscontrato, è possibile controllare i dettagli e ulteriori informazioni nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.