Во внеплановых выпусках Samba 4.1.17, 4.0.25 и 3.6.25 (https://www.samba.org/s) устранена (http://permalink.gmane.org/gmane.network.samba.announce/331) критическая уязвимость (https://www.samba.org/samba/security/CVE-2015-0240) (CVE-2015-0240), которую можно использовать для инициирования выполнения кода на стороне сервера. Опасность проблемы усугубляется тем, что уязвимость может быть экспулатирована без проведения аутентификации, для проведения атаки на сетевой порт SMB/CIFS-сервера достаточно отправить специально оформленный анонимный netlogon-пакет. Так как демон smbd обычно выполняется с правами root, то в случае успешной атаки злоумышленник может получить root-доступ к серверу.
Проблема затрагивается все версии Samba с 3.5.0 по 4.2.0rc4.
URL: http://permalink.gmane.org/gmane.network.samba.announce/331
Новость: http://www.opennet.me/opennews/art.shtml?num=41713
Выпустили бы сразу эксплоит
Выпустили бы сразу для CentOS.
Вантуз 95 в этом году отмечает убилей.
шо, опять?
А что ты хотел от уберсложного микрософтовского протокола? Там и в оригинале дыры оптом всю жизнь были. Если кто надеялся что уберсложный протокол можно без багов реализовать - ну, надейся!
дыра не в протоколе, а в реализации
Суть в том что для сложного протокола написать безопасный демон очень ...легко.
... рассказывать как жто легко - легко. А как оно сделать - ты не знаешь, нет у тебя такой квалификации. Есть квала трындеть на форумах, и это для тебя - легко.
тихо сам с собою я веду беседу...
> ... рассказывать как жто легко - легко.Наверное он должен был воткныть теги <sarcasm> для непонятливых.
> Вылезай из бункера. С версии 2 там хорошо так почистили и весьма
> стал годным протокол.Вот только в практических реализациях прут 100500 опциональных фич и хреноты для совместимости с древней хренью. Если обратить внимание, дыра как раз в поддержке опциональной фичи...
>дыра как раз в поддержке опциональной фичиДыра в netr_creds_server_step_check - процедуре авторизации.
В нетлогоне древнем при том.
Решето by design. From Microsoft with love.
А разве самбу пишет майкрософт?
> А разве самбу пишет майкрософт?Нет, но SMB как таковой в основном их корявых лапок дело в последнее время. По поводу чего там все наворочено до ж...ы и предсказуемо будет 100500 багов.
> А разве самбу пишет майкрософт?Нет, но они взяли в заложники семьи программистов и те специально делают самбу такой кривой и глючной, один вывод smbstatus чего стоить, ведь грепать под pid нужного пользователя - мечта каждого тру-линуксоида.
При чем тут протокол? Разработчики не иниацилизовали указатель.
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 на указателе без проверки.
> При чем тут протокол?При том, что этот код вообще по хорошему там быть не должен был. Ну и багов в нем - тоже.
как там в девяностых, попаданец?
Не знаю как в 90-ых было (не было тогда компьютера, да и не инетересовался), но в 2015-ом такое есть.
В виндах после "просто делаешь \\192.168.0.1 и считай все ресурсы уже смонтировались" веселье начинается, когда к двум шарам одного сервера подключаешься с разными именами. Говорит: "сначала отключись!". А ты и не подключался вовсе.
Во-вторых, когда имя ресурса не обязательно указывать - это не монтирование, а просмотр списка ресурсов. Пожалуйста, smbclient -L
>Говорит: "сначала отключись!". А ты и не подключался вовсе.А документацию принципиально не читаем? Самый умный да?
> А документацию принципиально не читаем? Самый умный да?Это так по микрософтовски - документировать глюки и баги вместо починки...
Кстате, samba нетолько же линуксовая штука. В OS X 10.9 её сделали по умолчанию вместо AFP. И там нормально вполне запилили по уровню десктопного использования.
К сожалению на линуксах это писец со связкой Nautilus + gvfs-smb + samba
> К сожалению на линуксах это писец со связкой Nautilus + gvfs-smb +
> sambaчто такое nautilus и gvfs?
kio... (ну и autofs, для хардкора) --- никаких проблем.
> gvfs?...
> kio...Выбирать между двумя глюкалами - это так здорово :)
Именно из-за неувязанной работы gvfs просто прописал все свои нужные шары в fstab.
Постоянно нужные - с автомонтированием, остальные - без. И юзерам те же строчки прописываю сразу после установки системы.
Получается, все это windows-like "Сетевое окружение" ни мне, ни пользователям тупо не требуется.
Правда, у нас и нет особенного бардака с шарами - файлопомойка видна всем в сети, пользователи приучены наваливать там.
> Правда, у нас и нет особенного бардака с шарами - файлопомойка видна
> всем в сети, пользователи приучены ходить туда.Идиллия :)
Троды плудов, собственно.
Ну, и змеи в этом Эдеме тоже водятся: генеральному, естественно, удобнее держать папку "документы для секретаря" открытой именно на своем компьютере. Попытки подменить шару ярлыком на файлопомойку провалились после того, как во всем этом запутался главбух...
В общем, хаос неизбежен даже в сердце порядка ;)
Так DE и их повадки самостоятельно виртуальные FS обрабатывать три четверти проблем созают - хоть с самбой, хоть с архивами, хоть с чем. Почему нигде нет вменяемого автомонтирования всего этого дела через FUSE (и ядерные FS в случае самбы) - не понимаю. Ладно винда - там командная строка и не-гуевые утилиты вообще второстепенны, но в линуксе...
Ну, с днем защитника отечества, админы. Идите, защищайте быренько...
шо, пакеты канпелировать? редхет опять болт возложил
лол, только написал о возложении болта, как пакеты сразу прилезли
> лол, только написал о возложении болта, как пакеты сразу прилезлиА вы только atp get-install делать умеете. А межушным ганглием шевелить не надо же... А туда же, окошечников всуе поминать.
А nfs умеет в обзор сервисов?
> А nfs умеет в обзор сервисов?марьванна, скиньте мне шаблон для мсфо в темп, а то у васи на нфс обзора сервисов нет.
Разумеется, через zeroconf.
Например так можно включить: http://kodi.wiki/view/Avahi_Zeroconf#NFS_service_.28.2Fetc.2...
> А nfs умеет в обзор сервисов?в адресной строке konquerror'а напечатать remote://
и вуаля!
Умеет, конечно.
I'll be back! (c) WinNuke
Ха-ха, кто-то ещё виннюк помнит ))
А мне нравились SubSeven и NetBus, рульные штуки были )) Играет чувак в стратежку, а ты ему кнопки мыши поменял, или клаву отключил. Столько было смеха, эх...
Чорт, у samba в samba-3.5.22.tar.gz реально лежит samba-4.0.25.
Кто-то уже поправил.
У Debian готово обновление - https://www.debian.org/security/2015/dsa-3171
(версия пакета 2:3.6.6-6+deb7u5)
>Пакеты с устранением уязвимости пока доступны только для Red Hat Enterprise Linux. Проследить за выходом обновлений для других популярных дистрибутивов можно на данных страницах: FreeBSD, Ubuntu, Gentoo, Slackware, openSUSE, CentOS, Fedora и Debian.Arch сегодня обновил самбу:
╰─$ samba -V
Version 4.1.17
А, например, 3.2.15-0.36.fc10 это затрагивает или нет ?
я не понимаю как так? >3.5 && <4.2
> я не понимаю как так? >3.5 && <4.2Видимо, уязвимый код добавили к 3.5.0.
Скажите мне, убогому, зачем nmbd права root?
Чтобы на лету делать chown?
ЗАЧЕМ???
> Скажите мне, убогому, зачем nmbd права root?Если не ошибаюсь, специфика работы с сетью. Хотя для привилегированных операций вроде открытия сокета можно было бы держать привилегии (или отдельный процесс), а для основной работы -- отбрасывать их (или держать в другом процессе). Впрочем, самбисты явно в курсе про privsep...
PS: лица, не обладающие минимальной квалификацией, к обсуждению всё так же не допускаются.
>> Скажите мне, убогому, зачем nmbd права root?
> Если не ошибаюсь, специфика работы с сетью. Хотя для привилегированных операций
> вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),между прочим, да, ретроградство :) ("у нас". например, почему-то до сих пор нет capsudo, например :( )
> между прочим, да, ретроградство :) ("у нас". например, почему-то до сих пор
> нет capsudo, например :( )Поставьте Солярис и пользуйте pfexec :)))
> Поставьте Солярис и пользуйте pfexec :)))Лучше DOS использовать. Мамонтам которые cannot into capabilities лучше куда-то туда, чтоб не оскверняли атмосферу.
"для привилегированных операций вроде открытия сокета"Чем "откртыие сокета" намного привилегированней "открытия файла" — загадка. Ну и выставьте на /dev/net/tcp/80 права для чтения (т.е. делать listen/accept) нужному пользователю/группе.
> Чем "откртыие сокета" намного привилегированней "открытия файла" — загадка.Такова воля неба. :)
Даже если и сделать chmod/chown /dev/udp/135, можно налететь на невозможность отсылки/приёма броудкастов.
>> Скажите мне, убогому, зачем 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. :)))
Ну а потом, скорее всего, "руки не дошли переделать".
> Если не ошибаюсь, специфика работы с сетью. Хотя для привилегированных операций
> вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),Capabilities? Не, не слышали! Шел XXI век...
>> Скажите мне, убогому, зачем nmbd права root?Чтобы биндинг на привилегированный порт (445) делать в осях, не имеющих RBAC. Который появился не бог весть как давно и далеко не во всех осях.
> Если не ошибаюсь, специфика работы с сетью. Хотя для привилегированных операций
Ошибаешься.
> вроде открытия сокета можно было бы держать привилегии (или отдельный процесс),
> а для основной работы -- отбрасывать их (или держать в другом
> процессе). Впрочем, самбисты явно в курсе про privsep...
> PS: лица, не обладающие минимальной квалификацией, к обсуждению всё так же не
> допускаются.Чо-чо ты там про минимальную квалификацию трындел? Иди, убейся об стену.
> Чтобы биндинг на привилегированный порт (445) делать в осях, не имеющих RBAC.
>> Если не ошибаюсь, специфика работы с сетью. Хотя для привилегированных операций
> Ошибаешься.Если Вы не спешили нахамить, не прочтя -- будьте добры, расскажите, в чём именно.
Про 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)
Ооооо, как легко всё свалить на Майкросовт )))
> и тем более зафигачить его под виндуЭту хохмочку уже проходили с убогим FAT-ом. Хрен ты чего "зафигачишь под винду", пока это не зафигачит Редмонд.
Ну, обвинять Линукс в том, что он подстраивается, как может, к тому, что этому подстраиванию активно сопротивляется - традиционный гетзефактс.