Nel pacchetto pppd (), consentendoti di eseguire il tuo codice inviando richieste di autenticazione appositamente progettate ai sistemi che utilizzano il protocollo PPP (Point-to-Point Protocol) o PPPoE (PPP over Ethernet). Questi protocolli vengono solitamente utilizzati dai provider per organizzare le connessioni tramite Ethernet o DSL e vengono utilizzati anche in alcune VPN (ad esempio pptpd e ). Per verificare se i tuoi sistemi sono interessati dal problema sfruttare il prototipo.
La vulnerabilità è causata da un buffer overflow nell'implementazione del protocollo di autenticazione EAP (Extensible Authentication Protocol). L'attacco può essere effettuato in fase di pre-autenticazione inviando un pacchetto di tipo EAPT_MD5CHAP, contenente un nome host molto lungo che non entra nel buffer allocato. A causa di un bug nel codice per il controllo della dimensione del campo rhostname, un utente malintenzionato potrebbe sovrascrivere i dati all'esterno del buffer sullo stack e ottenere l'esecuzione remota del proprio codice con diritti di root. La vulnerabilità si manifesta sul lato server e lato client, ad es. Non solo il server può essere attaccato, ma anche un client che tenta di connettersi a un server controllato dall'aggressore (ad esempio, un utente malintenzionato può prima hackerare il server sfruttando una vulnerabilità e quindi iniziare ad attaccare i client che si connettono).
Il problema riguarda le versioni da 2.4.2 a 2.4.8 compreso ed eliminato nel modulo . Anche la vulnerabilità pila , ma la configurazione predefinita in lwIP non abilita il supporto EAP.
Lo stato della risoluzione del problema nei kit di distribuzione può essere visualizzato in queste pagine: , , , , , , , . Su RHEL, OpenWRT e SUSE, il pacchetto pppd è creato con la protezione "Stack Smashing Protection" abilitata (la modalità "-fstack-protector" in gcc), che limita lo sfruttamento al fallimento. Oltre che nelle distribuzioni, la vulnerabilità è stata confermata anche in alcuni prodotti (Gestore delle chiamate) e Synology (DiskStation Manager, VisualStation VS960HD e Router Manager) utilizzando il codice pppd o lwIP.
Fonte: opennet.ru
