The OpenNET Project / Index page

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

Критическая удалённая уязвимость в Samba, предоставляющая root-доступ к серверу

23.02.2015 17:18

Во внеплановых выпусках Samba 4.1.17, 4.0.25 и 3.6.25 устранена критическая уязвимость (CVE-2015-0240), которую можно использовать для инициирования выполнения кода на стороне сервера. Опасность проблемы усугубляется тем, что уязвимость может быть экспулатирована без проведения аутентификации - для осуществления атаки достаточно отправить несколько специально оформленных анонимных netlogon-пакетов на сетевой порт SMB/CIFS-сервера. Так как демон smbd по умолчанию выполняется с правами root, то в случае успешной атаки злоумышленник может получить root-доступ к серверу.

Проблема затрагивает все версии Samba с 3.5.0 по 4.2.0rc4. Рабочий эксплоит пока не создан, но сотрудники Red Hat положительно оценивают возможность его создания и достаточно подробно описали возможный алгоритм экплуатации. Всем пользователям Samba рекомендуется в экстренном порядке провести обновление до представленных корректирующих выпусков. Для уже не поддерживаемых веток Samba подготовлены патчи. Пользователи Samba 4 могут защититься от атаки обходным путём, отключив netlogon в настройках ("rpc_server:netlogon=disabled" в секции "[global]" smb.conf). Проблему выявили и сообщили разработчикам samba работники группы MSVR (Microsoft Vulnerability Research).

Пакеты с устранением уязвимости доступны для Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, openSUSE, ALT Linux, FreeBSD. Проследить за выходом обновлений для других популярных дистрибутивов можно на данных страницах: Gentoo, Slackware, Fedora.

  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: В Samba 4.1.11 и 4.0.21 устранена критическая уязвимость в реализации NetBIOS
  3. OpenNews: Критическая уязвимость в Samba
  4. OpenNews: В Samba устранена одна из самых опасных уязвимостей за всю историю проекта
  5. OpenNews: Релиз Samba 3.3.13 с исправлением критической уязвимости
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/41713-samba
Ключевые слова: samba
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (61) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 17:22, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Выпустили бы сразу эксплоит
     
     
  • 2.2, Ilya Indigo (ok), 17:41, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Выпустили бы сразу для CentOS.
     
     
  • 3.33, pavlinux (ok), 06:07, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вантуз 95 в этом году отмечает убилей.
     

  • 1.3, Нанобот (ok), 17:50, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    шо, опять?
     
     
  • 2.5, Аноним (-), 17:51, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А что ты хотел от уберсложного микрософтовского протокола? Там и в оригинале дыры оптом всю жизнь были. Если кто надеялся что уберсложный протокол можно без багов реализовать - ну, надейся!
     
     
  • 3.10, MidNight_er (?), 18:35, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дыра не в протоколе, а в реализации
     
     
     
    Часть нити удалена модератором

  • 5.21, Аноним (-), 20:12, 23/02/2015 [ответить]  
  • +/
    Суть в том что для сложного протокола написать безопасный демон очень ...легко.
     
     
  • 6.28, Аноним (-), 01:36, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    ... рассказывать как жто легко - легко. А как оно сделать - ты не знаешь, нет у тебя такой квалификации. Есть квала трындеть на форумах, и это для тебя - легко.
     
     
  • 7.49, Khariton (ok), 11:27, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    тихо сам с собою я веду беседу...
     
  • 7.71, Аноним (-), 09:44, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > ... рассказывать как жто легко - легко.

    Наверное он должен был воткныть теги <sarcasm> для непонятливых.

     
  • 4.29, Аноним (-), 02:31, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вылезай из бункера. С версии 2 там хорошо так почистили и весьма
    > стал годным протокол.

    Вот только в практических реализациях прут 100500 опциональных фич и хреноты для совместимости с древней хренью. Если обратить внимание, дыра как раз в поддержке опциональной фичи...

     
     
  • 5.57, Аноним (-), 13:22, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >дыра как  раз в поддержке опциональной фичи

    Дыра в netr_creds_server_step_check - процедуре авторизации.

     
     
  • 6.65, Аноним (-), 18:18, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В нетлогоне древнем при том.
     
  • 3.13, robux (ok), 19:29, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Решето by design. From Microsoft with love.
     
     
  • 4.17, Аноним (-), 19:57, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А разве самбу пишет майкрософт?
     
     
  • 5.30, Аноним (-), 02:32, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А разве самбу пишет майкрософт?

    Нет, но SMB как таковой в основном их корявых лапок дело в последнее время. По поводу чего там все наворочено до ж...ы и предсказуемо будет 100500 багов.

     
  • 5.36, Адекват (ok), 07:28, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А разве самбу пишет майкрософт?

    Нет, но они взяли в заложники семьи программистов и те специально делают самбу такой кривой и глючной, один вывод smbstatus чего стоить, ведь грепать под pid нужного пользователя - мечта каждого тру-линуксоида.

     
  • 3.18, Аноним (-), 20:06, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    При чем тут протокол? Разработчики не иниацилизовали  указатель.



    1208         struct netlogon_creds_CredentialState *creds;



    и используют его.



    1213  status = netr_creds_server_step_check(p, p->mem_ctx,  
    1214                               r->in.computer_name,  
    1215                               r->in.credential,  
    1216                               r->out.return_authenticator,  
    1217                               &creds);



    а дальше вызывают TALLOC_FREE на указателе без проверки.
     
     
  • 4.31, Аноним (-), 02:35, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > При чем тут протокол?

    При том, что этот код вообще по хорошему там быть не должен был. Ну и багов в нем - тоже.

     
  • 4.39, Аноним (-), 08:56, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    как там в девяностых, попаданец?
     
     
  • 5.40, soarin (?), 09:10, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю как в 90-ых было (не было тогда компьютера, да и не инетересовался), но в 2015-ом такое есть.
     
  • 4.41, Pavel (??), 09:15, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В виндах после "просто делаешь \\192.168.0.1 и считай все ресурсы уже смонтировались" веселье начинается, когда к двум шарам одного сервера подключаешься с разными именами. Говорит: "сначала отключись!". А ты и не подключался вовсе.
    Во-вторых, когда имя ресурса не обязательно указывать - это не монтирование, а просмотр списка ресурсов. Пожалуйста, smbclient -L
     
     
  • 5.64, i_stas (ok), 16:32, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Говорит: "сначала отключись!". А ты и не подключался вовсе.

    А документацию принципиально не читаем?  Самый умный да?

     
     
  • 6.72, Аноним (-), 09:45, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А документацию принципиально не читаем?  Самый умный да?

    Это так по микрософтовски - документировать глюки и баги вместо починки...

     
  • 4.42, bugmenot (ok), 09:17, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстате, samba нетолько же линуксовая штука. В OS X 10.9 её сделали по умолчанию вместо AFP. И там нормально вполне запилили по уровню десктопного использования.
    К сожалению на линуксах это писец со связкой Nautilus + gvfs-smb + samba
     
     
  • 5.54, glebiao (ok), 12:55, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > К сожалению на линуксах это писец со связкой Nautilus + gvfs-smb +
    > samba

    что такое nautilus и gvfs?

    kio... (ну и autofs, для хардкора) --- никаких проблем.

     
     
  • 6.75, Аноним (-), 09:52, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > gvfs?

    ...
    > kio...

    Выбирать между двумя глюкалами - это так здорово :)

     
  • 5.59, тоже Аноним (ok), 13:43, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Именно из-за неувязанной работы gvfs просто прописал все свои нужные шары в fstab.
    Постоянно нужные - с автомонтированием, остальные - без. И юзерам те же строчки прописываю сразу после установки системы.
    Получается, все это windows-like "Сетевое окружение" ни мне, ни пользователям тупо не требуется.
    Правда, у нас и нет особенного бардака с шарами - файлопомойка видна всем в сети, пользователи приучены наваливать там.
     
     
  • 6.61, Michael Shigorin (ok), 15:07, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Правда, у нас и нет особенного бардака с шарами - файлопомойка видна
    > всем в сети, пользователи приучены ходить туда.

    Идиллия :)

     
     
  • 7.62, тоже Аноним (ok), 15:42, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Троды плудов, собственно.
    Ну, и змеи в этом Эдеме тоже водятся: генеральному, естественно, удобнее держать папку "документы для секретаря" открытой именно на своем компьютере. Попытки подменить шару ярлыком на файлопомойку провалились после того, как во всем этом запутался главбух...
    В общем, хаос неизбежен даже в сердце порядка ;)
     
  • 5.60, Crazy Alex (ok), 14:22, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так DE и их повадки самостоятельно виртуальные FS обрабатывать три четверти проблем созают - хоть с самбой, хоть с архивами, хоть с чем. Почему нигде нет вменяемого автомонтирования всего этого дела через FUSE (и ядерные FS в случае самбы) - не понимаю. Ладно винда - там командная строка и не-гуевые утилиты вообще второстепенны, но в линуксе...

     

  • 1.4, Аноним (-), 17:50, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну, с днем защитника отечества, админы. Идите, защищайте быренько...
     
     
  • 2.14, Аноним (-), 19:42, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    шо, пакеты канпелировать? редхет опять болт возложил
     
     
  • 3.16, Аноним (-), 19:48, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    лол, только написал о возложении болта, как пакеты сразу прилезли
     
     
  • 4.79, Аноним (-), 19:52, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > лол, только написал о возложении болта, как пакеты сразу прилезли

    А вы только atp get-install делать умеете. А межушным ганглием шевелить не надо же... А туда же, окошечников всуе поминать.

     

  • 1.6, Аноним (-), 18:08, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А nfs умеет в обзор сервисов?
     
     
  • 2.15, Аноним (-), 19:44, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А nfs умеет в обзор сервисов?

    марьванна, скиньте мне шаблон для мсфо в темп, а то у васи на нфс обзора сервисов нет.

     
  • 2.24, Stax (ok), 22:35, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Разумеется, через zeroconf.
    Например так можно включить: http://kodi.wiki/view/Avahi_Zeroconf#NFS_service_.28.2Fetc.2Favahi.2Fservices
     
  • 2.55, glebiao (ok), 12:56, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А nfs умеет в обзор сервисов?

    в адресной строке konquerror'а напечатать remote://

    и вуаля!

    Умеет, конечно.

     

  • 1.7, klalafuda (?), 18:10, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    I'll be back! (c) WinNuke
     
     
  • 2.32, count0krsk (ok), 05:10, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ха-ха, кто-то ещё виннюк помнит ))
    А мне нравились SubSeven и NetBus, рульные штуки были )) Играет чувак в стратежку, а ты ему кнопки мыши поменял, или клаву отключил. Столько было смеха, эх...
     

  • 1.23, mickvav (?), 21:57, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чорт, у samba в samba-3.5.22.tar.gz реально лежит samba-4.0.25.
     
     
  • 2.26, mickvav (?), 23:47, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кто-то уже поправил.
     

  • 1.25, Дмитрий Виноградов (?), 23:07, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У Debian готово обновление - https://www.debian.org/security/2015/dsa-3171
    (версия пакета 2:3.6.6-6+deb7u5)
     
  • 1.27, plop (?), 00:09, 24/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Пакеты с устранением уязвимости пока доступны только для Red Hat Enterprise Linux. Проследить за выходом обновлений для других популярных дистрибутивов можно на данных страницах: FreeBSD, Ubuntu, Gentoo, Slackware, openSUSE, CentOS, Fedora и Debian.

    Arch сегодня обновил самбу:
    ╰─$ samba -V
    Version 4.1.17

     
  • 1.45, Денис (??), 10:28, 24/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А, например, 3.2.15-0.36.fc10 это затрагивает или нет ?
    я не понимаю как так? >3.5 && <4.2
     
     
  • 2.46, Michael Shigorin (ok), 10:37, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > я не понимаю как так? >3.5 && <4.2

    Видимо, уязвимый код добавили к 3.5.0.

     

  • 1.50, lame adm (?), 12:02, 24/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Скажите мне, убогому, зачем nmbd права root?
    Чтобы на лету делать chown?
    ЗАЧЕМ???
     
     
  • 2.51, Michael Shigorin (ok), 12:07, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Скажите мне, убогому, зачем nmbd права root?

    Если не ошибаюсь, специфика работы с сетью.  Хотя для привилегированных операций вроде открытия сокета можно было бы держать привилегии (или отдельный процесс), а для основной работы -- отбрасывать их (или держать в другом процессе).  Впрочем, самбисты явно в курсе про privsep...

    PS: лица, не обладающие минимальной квалификацией, к обсуждению всё так же не допускаются.

     
     
  • 3.56, glebiao (ok), 12:58, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скажите мне, убогому, зачем nmbd права root?
    > Если не ошибаюсь, специфика работы с сетью.  Хотя для привилегированных операций
    > вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),

    между прочим, да, ретроградство :) ("у нас". например, почему-то до сих пор нет capsudo, например :( )

     
     
  • 4.69, Andrew Kolchoogin (ok), 23:33, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > между прочим, да, ретроградство :) ("у нас". например, почему-то до сих пор
    > нет capsudo, например :( )

    Поставьте Солярис и пользуйте pfexec :)))

     
     
  • 5.74, Аноним (-), 09:51, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Поставьте Солярис и пользуйте pfexec :)))

    Лучше DOS использовать. Мамонтам которые cannot into capabilities лучше куда-то туда, чтоб не оскверняли атмосферу.

     
  • 3.58, Аноним (-), 13:41, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    "для привилегированных операций вроде открытия сокета"

    Чем "откртыие сокета" намного привилегированней "открытия файла" — загадка. Ну и выставьте на /dev/net/tcp/80 права для чтения (т.е. делать listen/accept) нужному пользователю/группе.

     
     
  • 4.68, Andrew Kolchoogin (ok), 23:32, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чем "откртыие сокета" намного привилегированней "открытия файла" — загадка.

    Такова воля неба. :)

    Даже если и сделать chmod/chown /dev/udp/135, можно налететь на невозможность отсылки/приёма броудкастов.

     
  • 3.67, Andrew Kolchoogin (ok), 23:25, 24/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скажите мне, убогому, зачем nmbd права root?
    > Если не ошибаюсь, специфика работы с сетью.

    Именно так.

    Если процесс не запущен с привилегиями суперпользователя, он не будет видеть ни broadcast-, ни multicast-пакетов на старых версиях ядер.

    Кусочек getsockopt(2):

    ===
    The option SO_BROADCAST requests permission to send broadcast datagrams
         on the socket.  Broadcast was a privileged operation in earlier versions
         of the system.
    ===

    Конкретно насколько "earlier", мне найти не удалось, но, учитывая, что Самбу я вижу с версии 1.9.13, я думаю, что в те годы 146% эта опция сокета была Privileged. :)))

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

     
  • 3.73, Аноним (-), 09:47, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если не ошибаюсь, специфика работы с сетью.  Хотя для привилегированных операций
    > вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),

    Capabilities? Не, не слышали! Шел XXI век...

     
  • 3.80, Аноним (-), 19:56, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Скажите мне, убогому, зачем nmbd права root?

    Чтобы биндинг на привилегированный порт (445) делать в осях, не имеющих RBAC. Который появился не бог весть как давно и далеко не во всех осях.

    > Если не ошибаюсь, специфика работы с сетью.  Хотя для привилегированных операций

    Ошибаешься.

    > вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),
    > а для основной работы -- отбрасывать их (или держать в другом
    > процессе).  Впрочем, самбисты явно в курсе про privsep...
    > PS: лица, не обладающие минимальной квалификацией, к обсуждению всё так же не
    > допускаются.

    Чо-чо ты там про минимальную квалификацию трындел? Иди, убейся об стену.

     
     
  • 4.81, Michael Shigorin (ok), 20:12, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Чтобы биндинг на привилегированный порт (445) делать в осях, не имеющих RBAC.
    >> Если не ошибаюсь, специфика работы с сетью.  Хотя для привилегированных операций
    > Ошибаешься.

    Если Вы не спешили нахамить, не прочтя -- будьте добры, расскажите, в чём именно.

     
  • 2.83, frewq (?), 03:12, 01/03/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Про nmbd:
    1) "nmbd - NetBIOS name server to provide NetBIOS over IP naming services to clients" - поэтому ему нет нужды "на лету делать chown" в отличии от smbd, которому точно нужно

    2) CVE не относится к nmbd, так как он не использует rpc_server

    3) Не уверен, но возможно uid0 используется как упрощение внутреннего IPC при доступе к /run/samba/*.tdb отраженным в память.


    По факту (Samba 3.x) про smbd:

    1) При наличии активной сессии smbd делает setuid() на нужного пользователя, когда все сессии закрываются - выполняет setuid(0).

    2) 1 процесс smbd может обслуживать сессии нескольких пользователей - при
    условии, что их сессии инициированы с одного хоста.  При необходимости выполнить действия, которые требуют имперсонации - вызываем setuid().

    3) При беглом просмотре исходников Samba 3.6 явное переключение есть в коде запроса дисковых квот для #if defined(SUNOS5)

     

  • 1.66, Анжелика (?), 22:02, 24/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ооооо, как легко всё свалить на Майкросовт )))
     
     
  • 2.76, тоже Аноним (ok), 09:55, 25/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и тем более зафигачить его под винду

    Эту хохмочку уже проходили с убогим FAT-ом. Хрен ты чего "зафигачишь под винду", пока это не зафигачит Редмонд.
    Ну, обвинять Линукс в том, что он подстраивается, как может, к тому, что этому подстраиванию активно сопротивляется - традиционный гетзефактс.

     

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



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

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