1. Локальный доступ к kernel-памяти
Во многих частях ядра FreeBSD, работа с именами (mount points, устройств, файлов и т.д.) производится с помощью строки символов, которые передаются приложениям в буферах с ограниченной ёмкостью.
В некоторых местах строки динамической длины скопированы в буферы ограниченной длины без предварительной очистки неиспользованной части буфера.
В неиспользованной части буфера может сохраниться привилегированная информация, которая теперь доступна приложению, работающему с буфером.
Для исправления ошибки или обновите систему до 4-STABLE, 5-STABLE, RELENG_5_3, RELENG_4_11, RELENG_4_10 или используйте следующие патчи:
для FreeBSD 4.x:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:08/kmem4.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:08/kmem4.patch.asc
для FreeBSD 5.x:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:08/kmem5.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:08/kmem5.patch.asc
2. Локальный доступ к участкам памяти через i386_get_l
Системный вызов i386_get_ldt(2) позволяет процессу запросить часть локальной таблицы оборудования для копирования из ядра в пользовательскую часть оперативной памяти.
Из-за недостаточной проверки, отрицательные или слишком высокие значения могут позволить пользователю скопировать участок ядра в память, доступную ему, и тем самым получить доступ к привилигерованной информации.
Для исправления ошибки можно либо обновить систему до 4-STABLE, 5-STABLE, RELENG_5_3, RELENG_4_11, RELENG_4_10 или использовать следующие патчи:
для FreeBSD 4.x:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:07/ldt4.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:07/ldt4.patch.asc
для FreeBSD 5.х:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:07/ldt5.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:07/ldt5.patch.asc
3. lir(4) - драйвер для поддержки Intel Integrated RAID controllers и ICP Vortex Raid controllers.
По умолчанию разрешения на /dev/lir позоволяют непривилегированному пользователю открывать и производить ioctl-вызовы.
На системах, где присутствует вышеупомянутое оборудование, разрешения могут быть сменены вручную. (chmod 600 /dev/lir*).
На FreeBSD 5.x:
echo 'perm lir* 0600' >> /etc/devfs.conf
echo 'devfs_enable="YES"' >> /etc/rc.conf
Данный патч доступен для исправления ошибки:
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:06/iir.patch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CER...:06/iir.patch.asc
Для установки:
cd /usrc/src
patch < /path/to/patch
>>> Подробности