Показать сообщение отдельно
Старый 27.10.2003, 18:02     # 1
ShooTer
Chameleon MOD
 
Аватар для ShooTer
 
Регистрация: 29.04.2003
Сообщения: 2 515

ShooTer Гурее всех гурых :-)
ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)ShooTer Гурее всех гурых :-)
Удаленное переполнение буфера в Washington University FTP daemon (Wu-FTPd)

Переполнение буфера обнаружено в Washington University FTP daemon (Wu-FTPd). Удаленный атакующий может выполнить произвольный код на уязвимом сервере с root привилегии.

Переполнение стекового буфера обнаружено в коде, который обрабатывает SKEY идентификацию в Wu-FTPd сервере. Представляя специально обработанные опознавательные мандаты, удаленный атакующий может аварийно завершить работу демона или выполнить произвольный код с root привилегиями. Переполнение расположено в функции skey_challenge() в src/ftpd.c файле:
PHP код:
char *skey_challenge(char *name, struct passwd *pwd, int pwok)            
     $
 {                                                                         
     $
     static 
char buf[128];
     ...
     if (
pwd == NULL || skeychallenge(&skey, pwd->pw_name, sbuf))          
     $
         
sprintf(buf, "Password required for %s.", name);
     else
   
sprintf(buf, "%s %s for %s.", sbuf,
     
pwok ? "allowed" : "required", name);
     return (
buf);
 } 
в коде не проверяются размеры параметра *name.

Уязвимы системы, поддерживающие SKEY идентификацию.

URL производителя:http://www.wuftpd.org/

Решение: Отключите поддержку SKEY или примените следующий патч:

PHP код:
% diff -u ftpd.c fixed-ftpd.c
 
--- ftpd.c      2001-11-29 17:56:11.000000000 +0100
 
+++ fixed-ftpd.c        2003-10-20 20:43:58.000000000 +0200
 
@@ -1662,9 +1662,9 @@
      
/* Display s/key challenge where appropriate. */
  
      
if (pwd == NULL || skeychallenge(&skey, pwd->pw_name, sbuf))
 -       
sprintf(buf, "Password required for %s.", name);
 +       
snprintf(buf, 128-1, "Password required for %s.", name);
      else
 -       
sprintf(buf, "%s %s for %s.", sbuf,
 +       
snprintf(buf, 128-1, "%s %s for %s.", sbuf,
                 
pwok ? "allowed" : "required", name);
      return (
buf);
  }
 % 
www.securitylab.ru
__________________
"That vulnerability is completely theoretical."
ShooTer вне форума