home *** CD-ROM | disk | FTP | other *** search
/ Forum of Incident Response & Security Teams / Forum_of_Incident_Response_and_Security_Teams_FIRST_October_1994.iso / teaminfo / cert_it / advisory / s_94_03.txt < prev    next >
Text File  |  1994-07-08  |  4KB  |  119 lines

  1. ==============================================================================
  2. SECURITY ADVISORY                                                      CERT-IT
  3. ==============================================================================
  4. Author/Source : CERT-IT <cert-it@dsi.unimi.it>             Index  :    S-94-03
  5. Distribution  : World                                      Size   :       4236
  6. Classification: External                                   Version:      Final
  7. Subject       : Wuarchive FTP daemon (ftpd) bug        Date   :   11-04-94
  8. ==============================================================================
  9.  
  10.  
  11. ========
  12. Abstract
  13. ========
  14.  
  15.     Nelle versioni anteriori alla 2.3 del daemon ``ftpd''
  16.     di wuarchive.wustl.edu sono presenti due gravi bug che
  17.     permettono, in determinate condizioni, di diventare
  18.     root a chiunque conosca la giusta sequenza di comandi.
  19.     Tale daemon e` ormai comunemente usato in moltissimi sistemi
  20.     come replacement del daemon ftpd di sistema.
  21.     Consigliamo di disabilitare il daemon finche` non si e` 
  22.     fatto l'upgrade alla nuova versione 2.3.
  23.  
  24.  
  25. ===========
  26. Descrizione
  27. ===========
  28.  
  29.     Qualunque utente remoto o locale puo` acquisire i privilegi 
  30.     di root utilizzando questi bugs indipendentemente dal fatto
  31.     che ci sia o meno una configurazione per il servizio di 
  32.     anonymous ftp.
  33.     Il primo bug puo` essere sfruttato molto facilmente solo se 
  34.     esiste la directory ~ftp/bin/ftp-exec in cui, generalmente,
  35.     vengono messi i comandi eseguibili durante il collegamento ftp.
  36.     La presenza del secondo bug puo` essere verificata eseguendo
  37.     il seguente comando nella directory dei sorgenti:
  38.  
  39.     $ grep \"NULL\" src/*.c
  40.     
  41.     Se trovate la stringa ``NULL''  molto probabilmente e` presente 
  42.     un Trojan Horse nel vostro daemon. Piu` in particolare e`
  43.     possibile editare il file ftpd.c e controllare se, ad un
  44.     certo punto, il sorgente appare come segue:
  45.  
  46.     >
  47.     >#ifdef ULTRIX_AUTH
  48.     >        if ((numfails = ultrix_check_pass(passwd, xpasswd)) < 0) {
  49.     >#else
  50.     >        /* The strcmp does not catch null passwords! */
  51.     >        if (pw == NULL || *pw->pw_passwd == '\0' ||
  52.     >               strcmp(xpasswd, pw->pw_passwd)) {
  53.     >#endif
  54.     >               reply(530, "Login incorrect.");
  55.     >
  56.  
  57.     Se il vostro sorgente e` come sopra, allora il vostro ftpd
  58.     probabilmente NON contiene la backdoor. In ogni caso, anche
  59.     se entrambi i bug sembrano non esistere sul vostro sistema,
  60.     e` auspicabile sostituire ugualmente il vecchio ftpd con
  61.     la nuova versione 2.3.
  62.     
  63.  
  64. ======
  65. Rimedi
  66. ======
  67.     
  68.     Consigliamo di cambiare  il daemon di ftp. La versione 2.3 non 
  69.     e` affetta dai bug sopraindicati. Occorre eseguire i seguenti
  70.     passi:
  71.  
  72.         1. Disabilitare subito il servizio ftp editando
  73.            /etc/inetd.conf e commentando l'entry relativa.
  74.  
  75.         2. Se cio` non fosse possibile, rimuovere almeno la 
  76.            directory ~ftp/bin/ftp-exec.
  77.         
  78.         3. Fare l'upgrade alla nuova versione 2.3. La versione
  79.            e` disponibile in:
  80.  
  81.            ftp@ftp.uu.net:
  82.            /networking/ftp/wuarchive-ftpd/wu-ftpd-2.3.tar.Z.
  83.  
  84.            Per maggiore sicurezza si puo` verificare il
  85.            checksum MD5 di wu-ftpd-2.3.tar.Z che deve
  86.            corrispondere a c43d27cd00b80dfcfed5d673bcb7a07a.
  87.  
  88.  
  89. ===========
  90. Prevenzione
  91. ===========
  92.  
  93.     Come misura precauzionale per eventuali futuri bug che
  94.     potrebbero essere scoperti in seguito, sia per ftpd sia per
  95.     qualunque altro daemon, consigliamo l'utilizzo del piccolo
  96.     programma ``chrootuid''. Chrootuid e` stato scritto da
  97.     W. Venema ed e` disponibile in:
  98.  
  99.         ftp@ftp.dsi.unimi.it:
  100.         /ftp/pub/security/src/system/chrootuid1.2.shar.Z
  101.  
  102.  
  103.     Chrootuid effettua un chroot() e un setuid() prima di lanciare
  104.     un certo comando. Se si usa chrootuid in /etc/inetd.conf e`
  105.     possibile fare il chroot PRIMA che il vero daemon venga lanciato
  106.     e cosi` facendo si minimizzano le conseguenze di qualsiasi
  107.     bug software.
  108.  
  109.     Un entry in /etc/inetd.conf riguardante ftpd dovrebbe avere
  110.     questa sintassi (nell'eventualita` che si voglia utilizzare in
  111.     congiunzione anche l'utilissimo ``tcpd'', sempre di Venema):
  112.  
  113.     ftp stream tcp nowait root /etc/tcpd chrootuid /ftp root /bin/ftpd
  114.  
  115.     Consigliamo di estendere l'utilizzo di chrootuid anche ad
  116.     altri servizi come gopher, WWW, Wais, tftpd ecc. 
  117. ==============================================================================
  118.  
  119.