URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 138087
[ Назад ]

Исходное сообщение
"Уязвимость в Samba, позволяющая удалённо выполнить код на сервере"

Отправлено opennews , 16-Окт-25 11:35 
Опубликованы корректирующие выпуски пакета Samba 4.23.2, 4.22.5 и 4.21.9  с устранением уязвимости (CVE-2025-10230) в реализации сервера разрешения имён WINS, позволяющей добиться удалённого выполнения своего кода на сервере без прохождения аутентификации. Проблеме присвоен наивысший уровень опасности - 10 из 10...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64062


Содержание

Сообщения в этом обсуждении
"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 11:35 
Не стоит ставить 10/10 уязвимостям, которые у нас васянов по дефолту отключены.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено нах. , 16-Окт-25 12:21 
Я бы сказал что это вообще не уязвимость а служебная функция. Васян зачем-то удумавший запускать какие-то баш-скрипты из WINS (ШТОА?!) еще и до авторизации - недоволен что скрипты, ну надо же - запускаются.

Причем на какой-такой случай ядерной войны придумана эта ненужная ненужна - наверное уже даже сами авторы самбы не вспомнят.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено User , 16-Окт-25 14:35 
Ну, я лет эээ... 15? назад через этот (Вроде бы этот, но зуб не дам) механизм отдавал пользаку ближайший к нему включенный (!) сетевой принтер. Не то, чтобы без этого нельзя было бы обойтись, это хорошо работало и сильно упрощало процесс печати - но я был моложе и глупее...

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 11:39 
> не очищались от спецсимволов, что позволяло
> добиться выполнения произвольных shell-команд

Дидовые башпортянки наносят ответный удар. Опять!
Олично спроектированная система))


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 11:54 
надо было на безопасном языке писать

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено 12yoexpert , 16-Окт-25 22:05 
*переписывать

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 12:05 
А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 12:30 
> А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?

Но ведь он ничего не говорил про Раст. Как же смешны местные воины против ветряных мельниц...


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:42 
Но ведь ты же говорил про альтернативы портянкам. Как же они называются?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 14:33 
> Но ведь ты же говорил про альтернативы портянкам.

Нет, не говорил. Где ты это увидел?

Сами приписывают другим утверждения про Раст и прочий бред - и сами выводят их на чистую воду. Господи, ну и цирк. Что с вами не так?


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:44 
да и вообще, башпортянки принято менять на системд, а не вот это вот всё

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 17:29 
>> А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?
> Но ведь он ничего не говорил про Раст.

Говорил он про Раст или нет - это не имеет никакого значения. Видал, сколько плюсиков поставили? Все, дружок: бравые воины нанесли очередной сокрушительный удар по Расту! 😂


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 12:50 
> Дидовые башпортянки наносят ответный удар. Опять!

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

И все с безопасностью было хорошо, но тут пришел вредитель потеринг, которого заслали для порчи системы. Он не разобрался как пользователь может дать команду дедовскому init для выключения компьютера. И решил что пользователь может передавать команды привелигорованным процессам через фильтры на JS и polkitd.

> Олично спроектированная система))

Поблагодари вредителя потеринга.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Дробовик , 16-Окт-25 13:29 
>> имена NetBIOS... не очищались от спецсимволов, что позволяло добиться выполнения произвольных shell-команд
> Дидовые башпортянки

Уязвимость в дырявой самбе, а виноваты башпортянки


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:35 
> а виноваты башпортянки

Башпортянки defective by design c их необходимостью экранировать все и вся.
С другой стороны, что еще ожидать от такой древности.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:43 
На что ты заменишь на пхп или джаваскрипт?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 17:56 
Э, ты буквально передаёшь сурсы в интерпретатор. Покажи-ка мне хоть один ЯП, который устойчив перед такими приколами. Си? Раст? Питон? JS? Да даже луа со своими '[aboba[ a = 69 ]aboba]' и XML с CDATA не гарантируют вам того, что модифицируя сурсы структура не поменяется. Правильное решение - это не принимать код от неавторизованного клиента вообще, только данные, и с чтением данных у баша всё в порядке.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 20:58 
Шёл 2025 год, а сишники за более чем пятьдесят лет так и не научились программировать.
>Э, ты буквально передаёшь сурсы в интерпретатор.

В 2025 году работать с сырыми строками должно быть стыдно.
>Покажи-ка мне хоть один ЯП, который устойчив перед такими приколами.

Любой, как только вы научитесь пользоваться построителем запросов. На строготипизированном типобезопасном языке это будет проще сделать. Слово типобезопасный - термин.
>Правильное решение - это не принимать код от неавторизованного клиента вообще

А как вы собрались проверять, где данные, а где код? Правильное решение - наконец-то перестать работать с сырыми строками, так как компилятор их вообще никак на корректность не проверяет.

В примере выше команда является деревом, что хорошо видно, если записать её в виде s-выражения
(/bin/sh sh -c (%s %s %s %02x %ld))
Как следствие, нам нужен рекурсивный тип данных, как минимум такой(на самом деле, он будет сложнее, так как есть и перенаправление вывода, и конвеер и куча всего остального)

Вот псевдокод на Ocaml
type cmd =
  | Value of string
  | Command of cmd list

Тогда простейший вариант
echo "hello world"
будет выглядеть так
Command [Value "echo"; Value "hello World"]
Допустим, мы его хотим вложить в sh -c как в коде с уязвимостью. Не вопрос
Command [Value "sh"; Value "-c"; Command [Value "echo"; Value "hello World"]]
А теперь вложим ещё раз
Command [Value "sh"; Value "-c"; Command [Value "sh"; Value "-c"; Command [Value "echo"; Value "hello World"]]]
Ну а дальше, при вычислении этого выражения автоматически будут экранированны нужные значения.

И соответственно строка для запуска программы должна иметь что-то вроде

val exec_safe : string -> string -> cmd list -> 'a

И итоговый вариант что-то вроде

exec_safe "/bin/sh" "sh" [Value "-c"; Command [Value wins_hook_script; (*тут оставшаяся часть команды *)]]

А теперь просто представьте, как закипят мозги сишника, когда для вызова простейшей программы ему нужно без автоматического управления памятью построить дерево.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:00 
Справедливости ради, в башпортянках точно таких же уязвимостей с полным отсутствием экранирования тоже хватает.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 12:03 
Мы подаем необработанный пользовательский ввод в командную строку, что может пойти не так?
В общем форменный xkcd/327.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено IdeaFix , 16-Окт-25 12:12 
Ну смотри, вот создатели, хотя скорее опакечиватели, томкета не такие. Они сломали работу на 80 порту и работу от рута, сломали максимальное количество файлов которое может открыть сервис и сказали - теперь оно безопасно, т.к. не юзабильно.

Хочешь пользовать - откати наши "защиты" вот тут, тут и тут, вектор атаки будет такой-то, но теперь это твоя ответственность, пользователь.

Так что всегда есть альтернатива.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 17:59 
Это как-то отменяет тот факт, что на сервере буквально торчит вариация 'curl | bash'?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:07 
Ну прекрасно.

Вместо того, чтобы написать (или взять готовый) билдер строки для exec с экранированием каждого аргумента (да, script придется сначала распарсить на токены - ну и?), имеем вот такое:

/*
+ * Test that the WINS server does not call 'wins hook' when the name
+ * contains dodgy characters.
+ */
+static bool nbt_test_wins_bad_names(struct torture_context *tctx)

А потом будут удивляться, когда кто-то найдет не предусмотренный в этих bad names вариант.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:41 
Но имя комитерп конечно же нам не сообщишь. Это же не Jia Tan, это другое.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 14:16 
да я не знаю, я патч скачал и посомтрел

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 15:32 
> Вместо того, чтобы написать

Руки отрубать сразу за наличие RCE.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 18:03 
Разрешённые символы: SPC, a-z, A-Z, 0-9. Если вы боитесь писать такой парсер (с учётом того, что вся нужная память уже выделена и размеры полей известны), то вам нужно прекратить программировать прямо сейчас.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 18:48 
>Разрешённые символы: SPC, a-z, A-Z, 0-9.

Мы в каком году - 1965 или 2025? Я уже молчу про юникод, здесь даже банально аски нет.
>с учётом того, что вся нужная память уже выделена и размеры полей известны

Только вот это должен проверять компилятор, а не погромист под честное слово.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:02 
>Вместо того, чтобы написать (или взять готовый) билдер строки для exec с экранированием каждого аргумента

Это сишники, они никогда не берут чужие библиоеки. Вместо этого они всегда пишут свои дырявые велосипеды.


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:32 
> никогда не берут чужие библиоеки
> всегда пишут свои дырявые велосипеды

Рано или поздно кто-нибудь да напишет собственный "дырявый велосипед"...


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:36 
А что вообще самба, на сколько реально на этом вашем линуксе заменить домен контроллер?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:43 
Реально на 100%

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:51 
Есть реальный примеры, когда мигрировали с виндового домена без потери функциональности?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 17:16 
Конечно нет. В самбе нет такого гуя как в виндовс сервере. А это весьма существенная функциональность. Говорят что можно типа rsat прикрутить к самбе, типа будет похоже.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Нубасий , 16-Окт-25 18:10 
> Конечно нет. В самбе нет такого гуя как в виндовс сервере. А
> это весьма существенная функциональность. Говорят что можно типа rsat прикрутить к
> самбе, типа будет похоже.

А можете нубу объяснить, зачем вообще дырявая и всю дорогу проблемная и неродная самба на линуксах, когда есть православный nfs?

Это что, такая спецолимпиада такая, прикручивать йаца ужа к ежу и ожидать что всё будет норм?


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 20:35 
разграничение прав на уровне пользователя, аутентификация, шифрование траффика
и готова спецолимпиада на тему нфс

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:50 
И какую задачу ты не смог решить на линуксе?

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 23:07 
Не смог ответить на бонусный вопрос - зачем вся эта мутотень шашечками нфс, когда можно спокойно ездить на самбе/ссхфс.
Судя по распространенности нфс с самбой,  вопрос оказался риторическим.

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 17:31 
> без потери функциональности?

Функциональности бэкдоров?


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 13:39 
Какая "неожиданная" "случайность"

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Соль земли2 , 16-Окт-25 13:55 
Исправили они это путём прогона name через isalnum.

Но вот в bash переменные предлагается заключать в кавычки и любой символ не запрещается в значении. И bash выполнит exec без shell injection. Почему нельзя также?


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 18:06 
Другой вопрос, а что вообще предполагалось передавать в поле winws hook в самом протоколе SMB. В винде никакого баша, когда это придумывали, не было. И учитывая отсутствие пробелов в примере, кажется там должно быть как раз слово, попадающее под [-_a-zA-Z0-9].

"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено epw , 16-Окт-25 14:22 
>Уязвимость в Samba, позволяющая удалённо выполнить код на сервере

Шо, опять?!


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено _kp , 16-Окт-25 14:53 
>>Клиент без аутентификации _МОЖЕТ_ отправить... любое имя NetBIOS

А разве не очевидно, что раз отправить могут что угодно, то это забота сервера проверять, всё что ему отправили.
Классика - "Что может пойти не так" :)


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:02 
А багу то почти 20 лет...

https://gitlab.com/samba-team/samba/-/commit/93409faddf610e7...


"Уязвимость в Samba, позволяющая удалённо выполнить код на се..."
Отправлено Аноним , 16-Окт-25 21:47 
Странно... Почему-то программисты на расте не могут исправить эту сишную дырень...