Переполнение буфера в Ettercap

Свойства

Дата публикации:
15.02.2002

Код

Ettercap - многоцелевой sniffer/interceptor/logger для LAN. Уязвимость защиты в его синтаксических анализаторах позволяет удаленным нападающим выполнять произвольный код.

Ettercap составлен из декодеров, которые ищут пользователя, пароли, и другие типы чувствительной информации.

Несколько декодеров (MySQL, IRC и другие) страдают от следующей проблемы:

memcpy(collector, payload, data_to_ettercap->datalen);

collector объявлен как:

u_char collector[MAX_DATA];

где MAX_DATA:

#define MAX_DATA 2000

Datalen - длина данных (после TCP/UDP заголовока) прочитанных от интерфейса. Т.е. Ettercap уязвим на интерфейсах, где MTU выше 2000. Так как в нормальной локальной сети MTU=1500, эта ошибка не может эксплуатироваться из-за неподдерживаемой дефрагментации в Ettercap, но может с подделанным пакетом (ip-> tot_len > MAX_DATA).

Вот - обычные MTU и типы интерфейсов:

  • 65535 - Hyperchannel
  • 17914 - 16 Mbit/sec token ring
  • 8166 - Token Bus (IEEE 802.4)
  • 4464 - 4 Mbit/sec token ring (IEEE 802.5)
  • 1500 - Ethernet
  • 1500 - PPP (typical; can vary widely)
Уязвимость найдена в Ettercap 0.6.3.1 и более ранние версии
или введите имя

CAPTCHA