============================================================================== SECURITY ADVISORY CERT-IT ============================================================================== Author/Source : CERT-IT Index : S-94-05 Distribution : World Size : 2253 Classification: External Version: Final Subject : /usr/bin/passwd bug (SunOS 4.1.x) Date : 22-05-94 ============================================================================== ======== Abstract ======== Nelle versioni 4.1.x del sistema operativo SunOS il comando /usr/bin/passwd permette, a qualsiasi utente, di acquisire i privilegi di root. =========== Descrizione =========== Il comando /usr/bin/passwd con il flag ``-F'', ha la funzione di permettere, a qualsiasi utente, di specificare un file di password alternativo a /etc/passwd. E` possibile utilizzare tale opzione per forzare il sistema a ridirigere le ``modifiche'' al file delle password su di un altro file di sistema. Cosi` facendo si puo` creare, ad esempio, un /.rhosts e ottenere facilmente i privilegi di root. ====== Rimedi ====== E` possibile applicare un patch utilizzando il debugger ``adb''. Il patch ha la finalita` di eliminare l'opzione -F. E` sufficiente seguire i seguenti comandi: # cd /usr/bin # cp passwd passwd.old # chmod 700 passwd.old # adb -w - passwd /l 'F:' 0x68de 0x68de/w 0 0x68de: 0x463a = 0x0 # chmod 4711 passwd La patch deve essere apportata anche a /usr/bin/yppasswd che e` una copia di /usr/bin/passwd. In alternativa, si puo` fare un symbolic link di yppasswd a /usr/bin/passwd con il comando: # ln -s /usr/bin/passwd /usr/bin/yppasswd Una volta applicato il patch e` necessario provare il comando per verificare che l'opzione -F sia stata realmente eliminata: # passwd -F /tmp/foobar passwd: illegal option -- F Usage: passwd [-l|-y] [-F file] [-afs] [-d user] [-e user] [-n numdays user] [-x numdays user] [user] ================================================================================