Что такое переполнение буфера libc gethostbyname и как я могу защитить себя от него?

3

По-видимому, есть ошибка в библиотеке GNU C , которая может вызвать переполнение буфера, как я могу защитить себя от этого?!

Ссылка:

задан blade19899 27.01.2015 в 22:09
источник

1 ответ

5

Согласно уведомлениям об ошибках Ubuntu , это влияет на 10.04 и 12.04 среди поддерживаемых в настоящее время версий Ubuntu.

Как я могу защитить себя?

Upgrade.

sudo apt-get update
sudo apt-get upgrade

Или, в частности:

sudo apt-get update
sudo apt-get install libc6

Проверьте установленную версию с помощью apt-cache policy libc6 :

  • Для 12.04 это должно быть 2.15-0ubuntu10.10 или выше.
  • Для 10.04 это должно быть 2.11.1-0ubuntu7.20 или выше.

Restart.

libc - основной пакет. Вы должны перезапустить, чтобы убедиться, что ничто в вашей системе не использует старую версию.

По крайней мере, перезапустите каждую службу, запущенную в вашей системе.

Что это такое?

Команда, которая обнаружила эту уязвимость, опубликовала консультативный ( опубликованные в списке рассылки), изучая вовлеченный код и тематические исследования. Он включает в себя программу C для обнаружения уязвимости системы.

По существу, поиск адресов в стиле IPv4 (связанных с числами и точками) может вызвать этот триггер.

  

[The] имя хоста должно   имеют одну из следующих форм: «a.b.c.d», «a.b.c», «a.b» или «a»,   где a, b, c, d должны быть целыми без знака, не более 0xfffffffful,   (т. е. никакого целочисленного переполнения) с помощью strtoul () в   десятичный или восьмеричный (но не шестнадцатеричный, потому что 'x' и 'X'   запрещено).

Это связано с ошибкой в ​​размере необходимого буфера, где размер немного короче, позволяя strcpy вниз по строке писать за конец буфера на ограниченную сумму (4 байта на 32 или 8 байтов на 64-битных машинах).

Эксплоит был написан командой против почтового сервера Exim, но код еще не выпущен.

Список затронутых сервисов включает , но не ограничивается :

  

Серверы MySQL, серверы Secure Shell, приложения для отправки форм и другие типы почтовых серверов. ... Apache, Cups, Dovecot, GnuPG, isc-dhcp, lighttpd, mariadb / mysql, nfs-utils, nginx, nodejs, openldap, openssh, postfix, proftpd, pure-ftpd, rsyslog, samba, sendmail, sysklogd, syslog -ng, tcp_wrappers, vsftpd и xinetd.

По-видимому, тестовый код , доступный на веб-сайте Университета Чикаго . Поэтому вы можете:

wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c
gcc GHOST.c -o GHOST
./GHOST

Конечным результатом будет vulnerable или not vulnerable .

    
ответ дан muru 27.01.2015 в 23:57
источник