Vulnerabilità
I ricercatori di Argus Systems hanno reso pubblica una vulnerabilità presente da 27 anni in OpenBSD, sistema operativo noto proprio per la sua attenzione maniacale alla sicurezza. Il problema, che affligge lo stack PPP del sistema operativo, consentiva di aggirare completamente l’autenticazione PAP utilizzando credenziali vuote, senza conoscere nome utente o password. La falla è comparsa a partire dal lontano 1999, durante l’importazione del codice originario da FreeBSD, e ha attraversato indisturbata decine di versioni della piattaforma.
Una vulnerabilità nascosta nel cuore dell’autenticazione PPP su OpenBSD
La falla interessa la funzione sppp_pap_input(), componente del sottosistema utilizzato da OpenBSD per la gestione delle connessioni PPP sincrone e delle implementazioni PPPoE. Durante la fase di autenticazione, il protocollo PAP richiede al client di trasmettere nome utente e password al sistema che svolge il ruolo di autenticatore.
Il codice vulnerabile confrontava le credenziali ricevute con quelle configurate localmente mediante la funzione bcmp(). Il problema nasceva dal fatto che la lunghezza delle stringhe da confrontare proveniva direttamente dai pacchetti inviati dall’attaccante. Se il campo name_len o passwd_len assumeva valore zero, la chiamata bcmp() restituiva automaticamente successo perché non esistevano byte da confrontare. In pratica il controllo di autenticazione terminava positivamente anche in assenza totale di credenziali.









