Повышение привилегий в Linux >=2.6.39

После того, как Линус запатчил ядро 17 января, опубликовано подробное описание уязвимости с повышением привилегий через /proc/pid/mem в suid. Это довольно умный хак, который применим для всех версий ядра >=2.6.39. Можете проверить у себя или на каком-нибудь непропатченном удалённом сервере.

Автор описания уязвимости первоначально не выкладывал готовый код, но поскольку на основе его поста в блоге такие эксплойты всё-таки появились в открытом доступе, то он тоже выложил свой эксплойт Mempodipper. Вот также шелл-код для 32-битной и 64-битной версий. Здесь видео SaveFrom.net с демонстрацией хака.

Появление уязвимости стало возможным благодаря тому, что в ядре 2.6.39 было решено убрать «избыточную» защиту #ifdef.

Источник: Повышение привилегий в Linux >=2.6.39 / Информационная безопасность / Хабрахабр.

В Apache 2.2.21 устранено уязвимости

Доступен корректирующий релиз http-сервера Apache 2.2.21 в котором устранена одна уязвимость и исправлено 8 ошибок. Исправленная проблема безопасности связана с особенностью обработки неподдерживаемых HTTP-методов в модулей mod_proxy_ajp, что может привести к DoS-атаке в конфигурациях, использующих mod_proxy_ajp в сочетании с mod_proxy_balancer.

Некоторые изменения:

  • Исправление регрессивного изменения, внесенного при устранении DoS-уязвимости в выпуске 2.2.20;
  • В mod_filter, вместо отбрасывания заголовка Accept-Ranges в ситуации запроса фильтра с наличием AP_FILTER_PROTO_NO_BYTERANGE, его значение теперь устанавливается в “none”;
  • В mod_dav_fs устранен крах в случае, когда невозможно загрузить apr DBM-драйвер;
  • В mod_rewrite добавлена проверка корректности каждого внутреннего (int:) RewriteMap, даже если отключен RewriteEngine, что позволяет избежать краха при ссылках на несуществующий “int: map” в процессе работы;
  • Возможность указания в директиве MaxRanges значений none|unlimited|default и установки ‘Accept-Ranges: none’ в ситуации, когда игнорируется заголовок Ranges при указании “MaxRanges none”.

Шифруем на bash

В рамках проекта Skein-Bash создана реализация алгоритма хэширования Skein 512-512, выполненная полностью на языке командного интерпретатора Bash. Код уложился в около 500 строк.

Skein отличается неплохой производительностью, например, на 64-разрядных платформах эталонная реализация Skein опережает по скорости SHA-512 примерно в два раза. В отличие от вариантов, оптимизированных для современных CPU, версия на Bash работает очень медленно – на расчет одного хэша тратится около 10 секунд. Работа выполнена с целью популяризации алгоритма Skein, который в следующем году будет бороться за звание стандарта SHA-3. В частности, было показано, что Skein может быть легко реализован с использованием различных языков программирования.

Вышли в свет iptables 1.4.12

Доступно обновление iptables 1.4.12, набора утилит для управления встроенным в ядро Linux фреймворком фильтрации и преобразования пакетов NetFilter. В новой версии реализована полная совместимость с Linux-ядром 3.0 и внесено около 40 изменений, среди которых:

  • Устранение регрессивного изменения в модуле libxt_state, появившегося в выпуске 1.4.11.1 и приводившего к инвертированию параметров базовых настроек;
  • Модуль libxt_RATEEST переведен на использование управляемого парсера опций (“guided option parser”), который в прошлом выпуске iptables заменил собой большое число отдельных блоков кода, привязанных к обработке отдельных опций;
  • Устранены проблемы, выявленные в результате автоматизированного сканирования кода системой Сoverity;
  • Обновлена документация;
  • В iptables объединён вызов кода инициализации для действий и критериев (target/match);
  • Изменен подход к использованию глобальных переменных, каждое расширение теперь имеет своё пространство глобальных переменных;
  • Предпринята попытка устранения проблем со сборкой при использовании Linux-ядра 2.4.x;
  • В libxtables реализовано игнорирование пробелов при парсинге опций, подразумевающих наличие нескольких адресов.

Заметка по защите от DoS и DDos атак

Заметки по защите от DoS и DDos атак (в контексте защиты WEB-сервера).

DoS – воздействие на сервис от одного или небольшого числа IP.
DDoS – воздействие на сервис от большого числа разных IP.
Continue reading »

Для DNS-сервера BIND 9 представлено исправление

Для DNS-сервера BIND 9 представлено исправление, существенно сокращающее время запуска
Как известно, одной из проблем DNS-сервера BIND 9 является очень медленный запуск при большом числе обслуживаемых DNS-зон. Если для сотен зон загрузка длится около минуты, то для сотен тысяч зон на запуск может уйти несколько часов (для миллиона зон – около 10 часов). Как оказалось, подобное поведение вызвано ошибкой разработчиков. После внесения изменений время запуска сервера с 500 тысячами зон сократилось с пяти с половиной часов до 2-3 минут, при росте потребления памяти на 2%. Исправление будет включено в состав будущих выпусков 9.8.1, 9.6-ESV-R5 и 9.7.4.

Проблема была вызвана неверным выбором размера пула одновременно выполняемых в BIND внутренних задач. При загрузке для обслуживания каждой зоны создается своя внутренняя задача, в рамках которой кроме разбора данных выполняются такие требующие времени действия, как отправка SOA-запросов master-серверам и отправка NOTIFY-уведомлений slave-серверам, сброс на диск дампа динамических зон и генерация DNSSEC-сигнатур. Так как по умолчанию число одновременно выполняемых задач было ограничено 8, все эти действия по сути выполнялись последовательно.

Обновление Linux-ядра: 2.6.39.3

Представлен корректирующий релиз Linux-ядра – 2.6.39.3, в котором отмечено 109 исправлений. Как обычно, в анонсе выхода новых версий подчеркивается обязательность проведения обновления. Из подсистем, в которых исправлены ошибки, можно выделить: USB, xhci, drm/i915, drm/radeon, conntrack, KVM, Xen, vlan, netfilter, ipset, FS-Cache, cfq-iosched, NFSv4, nfsd, ALSA, ath9k, ath5k, IPVS.

Среди исправленных проблем: устранение ошибки в ipv4-стеке, приводившей к потере первого пакета в mulicast-потоке; решение проблемы в драйвере USB Hub, которая мешала переходу в спящий режим; устранение зацикливания в подсистеме md, проявляющегося при определенных обстоятельствах в процессе восстановления программного RAID.

Несколько исправлений связаны с безопасностью:

  • Отсутствие должной инициализации структур, обеспечивающих работу блокировок в коде, связанном с файловыми системами может привести к утечке информации из области ядра при использовании FUSE-модулей.
  • Ошибка в реализации функции inet_diag_bc_audit() из состава подсистемы inet_diag может привести к подстановке кода локальным пользователем или инициированию бесконечного цикла.
  • Возможность разыменования NULL-указателя в ksmd.
1 2