Серьезная локальная уязвимость во FreeBSD
Проблема присутствует в реализации Unix-сокетов, которые используют единые с сетевыми сокетами системные вызовы, но используют в качестве аргумента путь к локальному файлу, вместо IP-адреса и номера порта. Проблема вызвана тем, что при прикреплении Unix-сокета к определённой точке файловой системы с использованием системного вызова bind, не производится проверка размера файлового пути. В дальнейшем, при возвращении созданного адреса через другие системные вызовы, он копируется в буфер фиксированной длины. Манипулируя специально сформированным файловым путём при создании Unix-сокета, злоумышленник может инициировать переполнение буфера и выполнить собственный код на уровне ядра системы.
Кроме того, во FreeBSD одновременно устранены две менее опасные уязвимости:
- Возможность бесконечного зацикливания или выполнения кода при распаковке командами compress и gzip специально оформленных поврежденных архивов. Проблема проявляется во всех поддерживаемых версиях FreeBSD и решается только наложением патча. Дополнение: корни проблемы тянутся ещё со времен 4.3BSD (1980-е годы), судя по всему уязвимость затрагивает не только gzip, но и многие другие продукты, в которых используется LZW-сжатие. Например, проблема уже устранена в ncompress, libarchive, OpenBSD compress, freetype, libXfont, busybox, mailx. Проблема также присутствовала в коде декодирования изображений GIF из состава Tk, gd, gdk-pixbuf, CUPS, GIMP, XPCE и других проектов;
- Удаленный вызов отказа в обслуживании для DNS-сервера, работающего на базе программы named (BIND 9) из базовой поставки. Отправив специальный запрос, атакующий может инициировать крах серверного процесса. Проблема проявляется только в ветке 8.2-STABLE, начиная с 28 мая 2011 года. Данная проблема была исправлена в BIND 9.6.x, 9.7.x и 9.8.x ещё 5 июля.
Источник: http://www.opennet.ru/opennews/art.shtml?num=31887
|
0 | Tweet | Нравится |
|