Nel pacchetto pppd (), che consente di eseguire il proprio codice tramite l'invio di richieste di autenticazione opportunamente formattate ai sistemi che utilizzano il protocollo PPP (Point-to-Point Protocol) o PPPoE (PPP over Ethernet). Questi protocolli sono solitamente utilizzati dai provider per organizzare le connessioni tramite Ethernet o DSL e sono utilizzati anche in alcune VPN (ad esempio, pptpd e ). Per verificare la vulnerabilità dei propri sistemi a questo problema prototipo di exploit.
La vulnerabilità è causata da un buffer overflow nell'implementazione del protocollo di autenticazione EAP (Extensible Authentication Protocol). L'attacco può essere effettuato prima dell'autenticazione mediante l'invio di un pacchetto di tipo EAPT_MD5CHAP, contenente un nome host molto lungo che non rientra nel buffer dedicato. A causa di un errore nella verifica della dimensione del campo rhostname, l'attaccante può sovrascrivere i dati al di fuori del buffer nello stack e ottenere l'esecuzione remota del proprio codice con privilegi di root. La vulnerabilità si manifesta sia sul lato server che sul lato client, quindi può essere attaccato non solo il server, ma anche il client che cerca di connettersi a un server controllato dall'attaccante (ad esempio, l'attaccante può prima compromettere il server tramite la vulnerabilità e poi iniziare a colpire i clienti che si connettono).
Il problema riguarda le versioni dalla 2.4.2 alla 2.4.8 inclusa ed è stato risolto nella forma . La vulnerabilità è stata confermata anche in stack , ma nella configurazione predefinita di lwIP il supporto EAP non è abilitato.
Lo stato della correzione del problema nelle distribuzioni può essere visualizzato su queste pagine: , , , , , , , . In RHEL, OpenWRT e SUSE, il pacchetto pppd è compilato con l'attivazione della protezione "Stack Smashing Protection" (modalità "-fstack-protector" in gcc), che limita l'exploitation tramite crash. Oltre alle distribuzioni, la vulnerabilità è stato confermata anche in alcuni prodotti (CallManager), e Synology (DiskStation Manager, VisualStation VS960HD e Router Manager), che utilizzano codice pppd o lwIP.
Fonte: opennet.ru
