Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Компьютер для продвинутых пользоватлей Компьютер для продвинутого пользователя. Выпуск по безопасности


Информационный Канал Subscribe.Ru

Компьютер для продвинутого пользователя
Безопасность

Новости
Microsoft укрепляет безопасность новым сервисом
Компания Microsoft создала консультационный сервис в области безопасности. Новое предложение компании станет промежуточным звеном, которое может оказать помощь пользователям в период между публичным сообщением об уязвимости и созданием патча для нее, сообщает сайт Security Pipeline.

Oscarbot-B охотится за пользователями AIM
Новый хитрый червь, созданный для поражения компьютеров, пользователи которых общаются посредством IM-клиента AOL Instant Messenger (AIM), уже успел причинить своим жертвам немало хлопот.

Microsoft и Sun: зайти в сеть будет проще
Компании Sun Microsystems и Microsoft прекратили многолетнее противостояние и решили объединить свои усилия. Исполнительные директора компаний Sun и Microsoft Скотт Макнили (Scott McNealy) и Стив Балмер (Steve Ballmer) объявили о выпуске спецификаций для разработки единых интерфейсов между системами, использующими стандарты WS-Federation и Liberty. Разрабатываемая технология позволит пользователям и администраторам сетей регистрироваться лишь единожды - при входе в сеть.

Опыт безопасности
Продукт: Ядро Linux v. 2.6

Проблема:
Две локальные ошибки были найдены в Linux rawdevice и pktcdvd блочных устройств ioctl обработки, это позволяет локальному пользователю получить рутовский статус, а также выполнениепроизвольного кода в ядре.
Детали:
Ядро Linux содержит pktcdvd и rawdevice компоненты. Из-за недостаточной проверки pktcdd и rawdevace ioctl параметров обработки, процесс может быть подвешен переполнением свободного места и выполнением произвольного кода в ядре.
Описание:
Уязвимый код находится в drivers/block/pktcdvd в вашей версии ядра. Код:
static int pkt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
{
struct pktcdvd_device *pd = inode->i_bdev->bd_disk->private_data;

VPRINTK("pkt_ioctl: cmd %x, dev %d:%d\n", cmd, imajor(inode), iminor(inode));
BUG_ON(!pd);

switch (cmd) {
/*
* выбор CDROM ioctls к CD-ROM, для UDF
*/
case CDROMMULTISESSION:
case CDROMREADTOCENTRY:
case CDROM_LAST_WRITTEN:
case CDROM_SEND_PACKET:
case SCSI_IOCTL_SEND_COMMAND:
[*] возврат ioctl_by_bdev(pd->bdev, cmd, arg);

case CDROMEJECT:
/*
* Дверца должна быть закрыта, когда устройство открыто, тогда мы
* можем разблокировать её или если фынуть командна прерывается.
*/
pkt_lock_door(pd, 0);
[*] return ioctl_by_bdev(pd->bdev, cmd, arg);

Пользователь:
Как видно из формы [*] аргумент переменной подставляемой в ioctl_by_bdev() функцию не проверяется и пользователь может ввести аргумент > TASK_SIZE value.

fs/block_dev.c
int ioctl_by_bdev(struct block_device *bdev, unsigned cmd, unsigned long arg)
{
int res;
mm_segment_t old_fs = get_fs();
[**] set_fs(KERNEL_DS);
res = blkdev_ioctl(bdev->bd_inode, NULL, cmd, arg);
set_fs(old_fs);
return res;
}
Однако, для поддержки ядра так же используются параметры, ioctl_by_bdvec)() вызывающий set_fs(KERNEL_DS) доступ параметров в ядре. Итак, если ioctl_by_bdwev() параметр с аргументом >TASK_SIZE, процесс зависнет и перепишет в ядро информацию. Локальный пользователь может выполнить любой код в ядре.



=========================================================
Если Вам нравится данная рассылка и Вы готовы помочь, то Вы можете отправить немного помощи на R474348938531 или Z451490294903.

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.paper.supuser
Отписаться
Вспомнить пароль

В избранное