The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Linux-ядре обнаружены три опасные локальные уязвимости

20.10.2010 16:49

В реализации поддержки сетевого протокола RDS (Reliable Datagram Sockets), разработанного компанией Oracle, найдена уязвимость, позволяющая локальному злоумышленнику выполнить код с повышенными привилегиями через отправку специально оформленного запроса к RDS-сокету. Наличие уязвимости подтверждено в Linux-ядрах с 2.6.30 по 2.6.36-rc8, собранных с включенной опцией CONFIG_RDS. Большинство Linux-дистрибутивов подвержены уязвимости, так как поддержка RDS включена в виде модуля (проверить можно командой "cat /boot/config-2.6.3* |grep CONFIG_RDS").

Опасность уязвимости усугубляется наличием эксплоита в открытом доступе. Исправление пока доступно только в виде патча к Linux-ядру. Доступность исправлений для различных Linux-дистрибутивов можно отследить на следующих страницах: Slackware, Gentoo, Mandriva, openSUSE, CentOS, Fedora, RHEL, Debian, Ubuntu.

В качестве временной меры защиты, рекомендуется запретить автоматическую загрузку RDS-модуля:


   echo "alias net-pf-21 off" > /etc/modprobe.d/disable-rds

Дополнительно сообщается об исправлении в тестовой сборке Linux-ядра 2.6.36-rc7 уязвимости в DRM-модуле для видеокарт i915. Отправка специально оформленного запроса через i915 GEM ioctl потенциально может привести к выполнению кода локального злоумышленника с привилегиями ядра системы.

Кроме того, в реализации функции "snd_ctl_new()" из звуковой подсистемы Linux-ядра найдено целочисленное переполнение, используя которое локальный злоумышленник может вызвать крах ядра или потенциально организовать выполнение кода с повышенными привилегиями через отправку специально подготовленного запроса к устройству "/dev/snd/controlC*. Проблема устранена в тестовой сборке 2.6.36-rc7.

  1. Главная ссылка к новости (http://www.vsecurity.com/resou...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28355-linux
Ключевые слова: linux, kernel, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 17:08, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    очень оптимистично.
     
  • 1.2, xxx (??), 17:08, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    >разработанного компанией Oracle

    АААА, так вот значит как оракл меняет правила поставщиков Linux.

     
     
  • 2.31, Slot (?), 06:10, 21/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    +500 - Эдак я написав кривой модуль к ядру могу находить там дыры хоть каждый день, а кричать будут что нашли в Linux ядре? - жесть - может я чего не понимаю?
     

  • 1.4, Аноним (4), 17:33, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Оперативно в бубунте поправили: * Local privilege escalation vulnerability in RDS sockets - CVE-2010-3904
     
  • 1.5, Hugo Reyes (?), 17:38, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ zcat /proc/config.gz | grep RDS
    # CONFIG_RDS is not set
     
     
  • 2.8, Иван Иванович Иванов (?), 18:23, 20/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    99.95% пользователей Линукса используют вендорные ядра, так что вы не показатель.
     

  • 1.9, Аноним (-), 18:26, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    чтобы использовать дыры нужно уже быть залогиненным - опять удаленно не пробиться :(
     
     
  • 2.28, аноним (?), 00:21, 21/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >опять удаленно не пробиться :(

    ну это вам не семёрочка максимальное, ничего не поделаешь.

     

  • 1.10, Аноним (-), 18:44, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    работает!)
     
     
  • 2.14, fdgsdfgs (?), 19:44, 20/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а у меня остановился на пункте "[*] Restoring function pointer...\n"
    эксплойт завершился на функции write_to_mem()

    ты ничего не правил в этом эксплойте?

     
     
  • 3.15, Другой аноним (?), 19:54, 20/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    работает. и вообще без бубна. squeeze :(
     
     
  • 4.17, ещ один аноним (?), 20:13, 20/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    у меня sid и ядро из сквизи - ничо не работает.
     
     
  • 5.18, аноним (?), 20:44, 20/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    угу, тупанул, 35 ведро из экспериментальной ветки было, на 32 сквизовском все норм.
     

  • 1.11, pavlinux (ok), 18:46, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > разработанного компанией Oracle

    Нигадяй!!!
    ---

    $ zcat /proc/config.gz | grep RDS
    # CONFIG_RDS is not set

    > Проблема устранена в тестовой сборке 2.6.36-rc7.

    $ uname -r
    2.6.36-rc8+

     
  • 1.13, Dimez (ok), 19:33, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    cat foo | grep bar - это мощно :)
     
  • 1.21, z (??), 20:55, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    ничего удивительного, просто у одних первоначальная цель это "свобода", у других - деньги, всё остальное вторично
     
  • 1.22, Аноним (-), 22:07, 20/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ cat /boot/config-2.6.3* |grep CONFIG_RDS
    cat: /boot/config-2.6.3*: Нет такого файла или каталога
    $ cat /proc/config.gz | gunzip -c | grep CONFIG_RDS
    # CONFIG_RDS is not set
    $
     
     
  • 2.39, zomg (?), 17:41, 23/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    zgrep CONFIG_RDS /proc/config.gz
    man zcat; man zgrep; man zless
     

  • 1.29, Etch (?), 01:19, 21/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    $ ls /boot/config-2.6.3* |xargs grep -i CONFIG_RDS
    /boot/config-2.6.32-5-686:CONFIG_RDS=m
    /boot/config-2.6.32-5-686:CONFIG_RDS_RDMA=m
    /boot/config-2.6.32-5-686:CONFIG_RDS_TCP=m
    /boot/config-2.6.32-5-686:# CONFIG_RDS_DEBUG is not set
    /boot/config-2.6.32-bpo.3-686:CONFIG_RDS=m
    /boot/config-2.6.32-bpo.3-686:CONFIG_RDS_RDMA=m
    /boot/config-2.6.32-bpo.3-686:CONFIG_RDS_TCP=m
    /boot/config-2.6.32-bpo.3-686:# CONFIG_RDS_DEBUG is not set
    /boot/config-2.6.32-bpo.5-686:CONFIG_RDS=m
    /boot/config-2.6.32-bpo.5-686:CONFIG_RDS_RDMA=m
    /boot/config-2.6.32-bpo.5-686:CONFIG_RDS_TCP=m
    /boot/config-2.6.32-bpo.5-686:# CONFIG_RDS_DEBUG is not set

    Это в Debian.

     
  • 1.30, Аноним (-), 05:56, 21/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    [root@ss01 ~]# cat /boot/config-2.6.3* |grep CONFIG_RDS
    CONFIG_RDS=m
    CONFIG_RDS_RDMA=m
    CONFIG_RDS_TCP=m
    # CONFIG_RDS_DEBUG is not set
    CONFIG_RDS=m
    CONFIG_RDS_RDMA=m
    CONFIG_RDS_TCP=m
    # CONFIG_RDS_DEBUG is not set

    Fedore 12-x64
    [root@ss01 ~]# uname -a
    Linux ss01 2.6.32.21-168.fc12.x86_64 #1 SMP Wed Sep 15 16:12:07 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

     
  • 1.32, Аноним (-), 06:50, 21/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    zgrep CONFIG_RDS /proc/config.gz
    так как то больше по уму
     
     
  • 2.33, ich bin (?), 10:51, 21/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > zgrep CONFIG_RDS /proc/config.gz
    > так как то больше по уму

    gzip: /proc/config.gz: No such file or directory

     

  • 1.35, Аноним (-), 13:56, 21/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто то тут недавно пел что типа линукс более защищен чем все остальное вместе взятое, и всякие W^X, ASLR, PIE, спасут линукс вместе с новомодным grsecurity и тд. И что? Реально спасает или всетаки не очень?
     
     
  • 2.37, i (??), 17:08, 21/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    я бы проверил, что скажет ново?модный grsec но:

    gzip  -dc /proc/config.gz |grep CONFIG_RDS
    # CONFIG_RDS is not set

     

  • 1.38, Pentarh (?), 16:11, 22/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Блин, че за хрень. Август-ноябрь черный период для никсов. Целые пачки уязвимостей вылезают. Каждый год.
     
     
  • 2.40, prapor (??), 18:14, 24/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Народ выходит из отпусков, и хватается за голову видя что натворил перед уходом.
     

  • 1.41, Andrey (??), 09:59, 06/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    user@server:~> ./a.out
    [*] Linux kernel >= 2.6.30 RDS socket exploit
    [*] by Dan Rosenberg
    [*] Resolving kernel addresses...
    [+] Resolved security_ops to 0xc09c11c8
    [+] Resolved default_security_ops to 0xc088b800
    [+] Resolved cap_ptrace_traceme to 0xc03bf9f0
    [+] Resolved commit_creds to 0xc0274310
    [+] Resolved prepare_kernel_cred to 0xc0274540
    [*] Overwriting security ops...
    [*] Overwriting function pointer...
    [*] Triggering payload...
    [*] Restoring function pointer...
    [*] Got root!
    server:~>
    server:~> whoami
    root
    server:~>

    Работает :))

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру