В утилите smb4k, применяемой в KDE для обнаружения и монтирования SMB-разделов, выявлены уязвимости, позволяющие получить root-доступ к системе. Проблемы устранены в выпуске Smb4K 4.0.5. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Fedora, SUSE/openSUSE, Gentoo, Arch и FreeBSD...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64422
В 2017 году уже была дыра в KAuth, эксплуатируемая через smb4k. Странно, что тогда smb4k не проверили, ведь проблемы очевидные.
> не фильтровали опцииУх ты, очередной CVE - и НЕ про дырявую память сишки...
Доколе?!! Сколько себя помню, самба всегда была дырой, видать так и останется...
Точнее, архитектура протоколов SMB.
только к архитектуре протоколов SMB данная дыра вроде отношения особо не имеет.
Тут про архитекторов, а не архитектуру.
> Уязвимости присутствуют в обработчике Smb4KMountHelper и вызваны тем, что функции для монтирования (CVE-2025-66003) и отмонтирования (CVE-2025-66002) сетевой файловой системы должным образом не фильтровали опции, передаваемые командам mount.cifs и unmount.cifs, что позволяло непривилегированному пользователю передать данным командам любые опции через параметр mh_options.Только тут вообще не про архитектуру протоколов SMB
KDE всегда KDE.
Но красивое.
кросивое?? да оно только абсолютно_вырвиглазным из коробки перестало быть, когда стали нечто похожее на вынь10 лепить по умолчанию.
> KDE. Но красивое.Qt интерфейс никогда красивостью не отмечался.
Поэтому разработчиками KDE был создан фреймворк Kirigami.
> но в if-блоке для вывода ошибки был пропущен оператор "return" и выполнение не прерывалось.ну вот к чему приводит "неявный" (забытый) return 0; :)
кто сказал что забытый, может его специально не добавили, пользователь сказал отмонтировать чтото, какие тут проверки и отказы, можешь - делай. варнинг можно добавить, посмотреть потом как часто в логах будет мелькать.
> кто сказал что забытыйНовость говорит "для вывода ошибки был пропущен оператор "return" и выполнение не прерывалось.".
А я к тому что привычка не писать в явном виде return 0; у обычных функций приводит к тому, что тупо забывают его писать там где нужно.
новость не показатель, я иногда пишу в коде if чтото там с выводом в лог, а иногда и без, просто чтобы помнить про такую возможность.> что тупо забывают
бывает и такое, но редко, прям очень редко, если есть куча разнородных условий почему нельзя продолжать...логично проверять все условия, а потом по факту, продолжать или нет, сообщая в дебаг что причина такая или такие, но это логичнее делать в отдельной функцие...но, блин, на каждый чих такое тоже делать не будешь, do while, можно использовать, чтобы поиграться и включать/выключать условия.
в части umount, является ли это ошибкой сказать нельзя однозначно, была команда отсоединить, с какого рожна функция должна проверять что она является частью программы для работы только с какойто там фс и поэтому не должна трогать другие фс, а если smb6 завра релизнут, переписывать чтоли.
монтирование /bin это конечно сильно, но колхозить отдельный список каталогов куда нельзя монтировать это тоже бред, обычно для таких вещей делается префикс, в линуксе /mnt по умолчанию он из каробки есть, нафига изобретать велосипед, /media придумали, хз зачем, ..это скорее показатель того что старые стандарты еще не отменили, но уже не соблюдают, а новые еще не написали.
почему юзер не имеет права поменять себе /usr, контейнер же он может запустить со своим образом, значит и менять себе /usr, имеет право, значит ядро должно для данной пользовательской консоли создавать отдельный список смонтированных точек, и когда юзер монтирует /usr или /bin в его личном списке и менять, не трогая списки других юзеров, логично же, но писать лень, поэтому пусть kde эти проблемы решает как хочет.
> я иногда пишу в коде if чтото там с выводом в лог, а иногда и безНаписано ведь "которая пропускала только разделы cifs, smbfs и smb3", то есть условно:
if (!(fs == cifs || fs == smbfs || fs == smb3))
{
debug_print("Unknown FS!");
return -1;
}... И дальше нормальный код, и если в таком случае не сделать return, то будут проблемы.
> do while, можно использовать, чтобы поиграться и включать/выключать условия.
эт как? я чет не понял.
> с какого рожна функция должна проверять что она является частью программы для работы только с какойто там фс и поэтому не должна трогать другие фс,
Ну как с какого? Сама функция так и называется Smb4KMountHelper::unmount(), это же не Fat32MountHelper, программа имеет прямое отношение к smb.
> а если smb6 завра релизнут, переписывать чтоли.
добавят новый случай в выше приведенное условие, в чем проблема? В любом случае это проверка должна быть и должна быть проверка крайнего случая, когда ФС не та.
> хз зачем, ..это скорее показатель того что старые стандарты еще не отменили, но уже не соблюдают, а новые еще не написали.
Ну вот и я хз, не я автор, я сторонник не скрещивать "легаси" с "новым" кодом (противник так называемой обратной совместимости).
> почему юзер не имеет права
Не могу ответить на эти ваши вопросы, мне как-то по одному месту как там у них что сделано. Такие вопросы лучше задавать напрямую разработчикам, если вас это реально тревожит.
Не знал, что smb4k еще жив. Пакеты с ним не поставляются уже несколько лет.
в бубунте нужно пол кедов поставить для этой "утилиты".
> Например, при помощи опций "filemode=04777,uid=0" всем файлам в примонтированном
> разделе будет выставлен флаг suid root.Ммм.... прикольно! Я конечно знал что виндовые шары дыра на дыре, но вот это - просто новое слово в технике щелкания клювом, автоголов и тому подобных достижений :)
>Я конечно знал что виндовые шары дыра на дыреMicrosoft имеет какое-то отношение к тому что утилиты в твоей эрзац-ОС написаны форменными птушниками?
> Microsoft имеет какое-то отношение к тому что утилиты в твоей эрзац-ОС написаны
> форменными птушниками?Они заложили славную традицию делать их дырявыми что капец :). Я сбился со счета сколько вулнов было в винде по поводу шар. Кто сказал что индусы нанятые по объявлению чем-то лучше птушников, собссно? :)
А в чём ещё должны быть уязвимости?
В калькуляторе?Посмотри количество уязаимостей в NFS
> А в чём ещё должны быть уязвимости?Судя по msblast - еще в этом их фирменном RPC сервисе, забыл уже как он называется, lsass, чтоли. Во всяком случае раньше червяки не дающие даже апдейты скачать - невозбранно доставляли. А сейчас я уже честно говоря и не следил.
Тысячи глаз по какой причине не сделали лучше?
потому, что у глазок нет ручек.
> Тысячи глаз по какой причине не сделали лучше?Потому что в переусложненной байде фигня получается. SMB наворотили что капец еще майкрософт, разгребать эти авгиевы конюшни желающих предсказуемо немного. А тут еще - какой-то aux crap в жирных кедах. Монстр на монстре и монстром погоняет. Где столько мазохистов набрать для смотрения в это нечто? Еще и бесплатно небось, мды?
>> Тысячи глаз по какой причине не сделали лучше?
> Потому что в переусложненной байде фигня получается. SMB наворотили что капец еще
> майкрософт, разгребать эти авгиевы конюшни желающих предсказуемо немного. А тут еще
> - какой-то aux crap в жирных кедах. Монстр на монстре и
> монстром погоняет. Где столько мазохистов набрать для смотрения в это нечто?
> Еще и бесплатно небось, мды?Что там наворотили- то? А то непонятно.
а ничего, тот факт, что монтировать имеет право только root, и uid=0 это буквално by дизайн.
> монтировать имеет право только rootПодумай, каким образом утилита сабжа применяет опции монтирования... Или, например, как монтируется флэшка, когда её юзер в усб воткнул.
Первым делом после установки линукса всегда выносил всю самбу во всех проявлениях.
На домашнем компьютере само собой. Но в учреждении samba - основа всего.
Но в учреждении samba - основа всего... если все клиенты сидят на винде.
> все клиенты сидят на виндеНет SMB - нет проблем. Народ начинает понимать, зачем нужна виндоуз.
в поликнике номер 4, наверное, ну в аэрофлоте видимо тоже, а в нормальных конторах самбы нет
подскажите плиз замену samba для обмена файлами и, иногда, совместной работы? ftp? какой-то внутренний сайт типа nextcloud?
> подскажите плиз замену samba для обмена файлами и, иногда, совместной работы? ftp?
> какой-то внутренний сайт типа nextcloud?Да, nextcloud/owncloud
Хотя дома я использую Samba (Windows нет). Не поднимать же инстансы nextcloud/owncloud ради такой мелочи. Работает из коробки хоть где (Android, iPadOS, macOS, Ubuntu).
sshfs чем плох
sshfs не позволяет настроить права по алгоритму "юзер внутри группы внутри группы внутри группы и акцесс-листы в 7 уровней с перекрытиями", как привыкли виндоадмины.анону уровнем выше советую bitrix копропортал и в порядке особого издевательства sharepoint.
Проблема надуманная. До монтирования раздела сервер запросит авторизацию и не позволит примонтировать ресурсы, которые данному пользователю не положены.
Пользователь введёт пароль, потому что ему понадобилось примонтировать папку. Не вижу никакой надуманности. Не zero-click, но хакнуть типичного "поставить линукс из коробки чтобы всё работало" можно.
Пользователь сможет примонтировать только ресурс, который ему разрешено примонтировать. Что не так?
создать вм, и там себе сделать любую шару, не отходя от кассы
В том то и дело, что монтирование и размонтирование в smb4k разрешены без пароля:
https://invent.kde.org/network/smb4k/-/blob/master/helpers/s...
Policy=yes
Для запроса пароля должно быть Policy=auth_admin
Предполагается, что на сервере сделаны верные настройки.
>Предполагается, что на сервере сделаны верные настройки.Сервер может принадлежать хакеру и может даже отправлять эксплоиты.
> добиться вывода содержимого любого файла, например, /etc/shadowИ что потом с ним делать? Перебирать пароли пока вселенная не погаснет? Понятно, что вывод любого файла серьёзная проблема, учитывая что в юниксе всё файл, но зачем такие убогие примеры приводить? Можно было бы что-то покреативнее придумать. Например, украсть куки у браузера или /home/vasya/passwords.txt.
>Перебирать пароли пока вселенная не погаснет?Там разве всё ещё не md5 с солью? Такое нынче можно подбирать на облачных GPU за вменяемое время, особенно если пароль это слово или слово с добавлением цифр в популярные места вроде замены O на 0 и цифры в начале и конце пароля.
даже в убунте 22.04 - yescrypt + соль
> Например, украсть куки у браузеракукисы чуть менее бесполезны, чем /etc/shadow. Там сейчас тоже сплошь одни хеши сессий, привязанных на контекст (браузер, IP и т.д.). Сменишь контекст - пропадёт кука.
ну, ip там врядле используется, а браузеру поненять строку агента много ума не надо, да и какбы, зачем, просто с этой кукой попытаться слить данные с сайта, или деньги со счета если сайт банка. Сайту то откуда знать кто там сидит с этой кукой, браузер с кэшем, или скрипт с хакером.
> ip там врядле используетсяХе-хе, это ты сайты не видел, где даже вообще есть фиксация IP, не только в пределах сессии.
> если сайт банка
Банки далеко не только кукисы используют. И даже при этом время жизни у сессии короткое. Ещё по секрету скажу, что надо воровать не только куку, но и все JS-переменные из памяти :))) Надеюсь, догадаешься, зачем. Сессия-то не персистент.