Security Lab

Несколько потенциальных уязвимостей в Apache Web сервере

Дата публикации:17.10.2002
Всего просмотров:1650
Опасность:
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:
Описание: Недавно Девид Вагнер провел аудит защиты в Apache 1.3.26, и обнаружил несколько небольших потенциальных уязвимостей во вспомогательных программах, поставляемых с Apache. Наиболее серьезные уязвимости были устранены в 1.3.27.
  1. Переполнение буфера в support/ab.c:read_connection()
    char servername[1024];
      static void read_connection(struct connection * c) {
          ...
          r = ab_read(c->fd, buffer, sizeof(buffer));
          ...
                    char *p, *q;
                    p = strstr(c->cbuff, "Server:");
                    q = servername;
                    if (p) {
                        p += 8;
                        while (*p > 32)
                            *q++ = *p++;
                    }
                    *q = 0;
    
    Воздействие: Любой, использующий ab, чтобы соединиться со злонамеренным сервером, может быть уязвим.

    Устранено в 1.3.27: http://www.apacheweek.com/features/security-13

  2. Нарушение состояния операции в support/htpasswd.c:main()
          tempfilename = tmpnam(tname_buf);
          ftemp = fopen(tempfilename, "w+");
          ...
          copy_file(ftemp, fpw); 
    
    Воздействие Любой локальный пользователь может читать, изменять содержание файла пароля Apache, если он эксплуатирует этот дефект, во время, когда администратор выполняет htpasswd.

  3. Нарушение состояния операции в support/htdigest.c:main() tn = tmpnam(NULL); if (!(tfp = fopen(tn, "w"))) ... ... sprintf(command, "cp %s %s", tn, argv[1]); system(command); Воздействие: Любой локальный пользователь может читать, изменять содержание файла пароля Apache, если он эксплуатирует этот дефект, во время, когда администратор выполняет htdigest.

    Уязвимость не устранена в 1.3.27.

  4. Полностью поддельный запрос system() в support/htdigest.c:main() (см. ниже) Воздействие: Скорее всего никакое, но htdigest нельзя будет вызвать из CGI сценарием и т.п.

    Уязвимость не устранена в 1.3.27.

  5. Переполнение буфера в support/htdigest.c:main()
    There are many, but here's one:
      #define MAX_STRING_LEN 256
      int main(int argc, char *argv[]) {
          char user[MAX_STRING_LEN];
          strcpy(user, argv[3]);
    
    Воздействие: Скорее всего никакое, но htdigest нельзя будет вызвать из CGI сценарием и т.п.

    Уязвимость не устранена в 1.3.27.

  6. strncat() некорректно используется в support/ab.c:main()
    char cookie[1024];
      int main(int argc, char **argv) {
        while ((c = getopt(argc, argv, "..."))) {
        switch (c) {
        case 'C':
          strncat(cookie, "Cookie: ", sizeof(cookie));
          strncat(cookie, optarg, sizeof(cookie));
          strncat(cookie, "\r\n", sizeof(cookie));
          break;
    
    Также нарушены –A, -P и –H.

    Воздействие: Скорее всего никакое, но ab нельзя будет вызвать из CGI сценарием и т.п.

Уязвимость устранена в 1.3.27. http://www.apacheweek.com/features/security-13
Ссылки: Apache 1.3.26