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

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

Ссылка:

3
задан 18 February 2016 в 12:23

1 ответ

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

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

Обновление.

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, или выше.

Перезапуск.

libc базовый пакет. Необходимо перезапустить, чтобы быть уверенными, что ничто в системе не использует старую версию.

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

Что это?

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

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

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

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

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

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

Серверы MySQL, Безопасные серверы Shell, формируют приложения представления и другие типы почтовых серверов.... Apache, Кубки, Голубятня, GnuPG, isc-dhcp, lighttpd, mariadb/mysql, nfs-utils, nginx, nodejs, openldap, openssh, постфикс, proftpd, чистый-ftpd, rsyslog, самба, sendmail, sysklogd, системный-журнал-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.

5
ответ дан 18 February 2016 в 12:23

Другие вопросы по тегам:

Похожие вопросы: