The OpenNET Project / Index page

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



"Уязвимость в Samba, позволяющая удалённо выполнить код на сервере"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 16-Окт-25, 11:35   +17 +/
Не стоит ставить 10/10 уязвимостям, которые у нас васянов по дефолту отключены.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11

2. Сообщение от Аноним (-), 16-Окт-25, 11:39   –3 +/
> не очищались от спецсимволов, что позволяло
> добиться выполнения произвольных shell-команд

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #8, #15, #17

5. Сообщение от Аноним (5), 16-Окт-25, 11:54   +4 +/
надо было на безопасном языке писать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #55

7. Сообщение от Аноним (7), 16-Окт-25, 12:03   +3 +/
Мы подаем необработанный пользовательский ввод в командную строку, что может пойти не так?
В общем форменный xkcd/327.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10

8. Сообщение от Аноним (8), 16-Окт-25, 12:05   +6 +/
А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #14

10. Сообщение от IdeaFix (ok), 16-Окт-25, 12:12   –1 +/
Ну смотри, вот создатели, хотя скорее опакечиватели, томкета не такие. Они сломали работу на 80 порту и работу от рута, сломали максимальное количество файлов которое может открыть сервис и сказали - теперь оно безопасно, т.к. не юзабильно.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #41

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #31

14. Сообщение от Аноним (14), 16-Окт-25, 12:30   +2 +/
> А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #22, #25, #37

15. Сообщение от Аноним (-), 16-Окт-25, 12:50   +3 +/
> Дидовые башпортянки наносят ответный удар. Опять!

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

16. Сообщение от Аноним (16), 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 вариант.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21, #33, #50

17. Сообщение от Дробовик (?), 16-Окт-25, 13:29   +1 +/
>> имена NetBIOS... не очищались от спецсимволов, что позволяло добиться выполнения произвольных shell-команд
> Дидовые башпортянки

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #18, #49

18. Сообщение от Аноним (-), 16-Окт-25, 13:35   –1 +/
> а виноваты башпортянки

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #23, #40

19. Сообщение от Аноним (19), 16-Окт-25, 13:36   +1 +/
А что вообще самба, на сколько реально на этом вашем линуксе заменить домен контроллер?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24

20. Сообщение от Аноним (22), 16-Окт-25, 13:39   +/
Какая "неожиданная" "случайность"
Ответить | Правка | Наверх | Cообщить модератору

21. Сообщение от Аноним (22), 16-Окт-25, 13:41   +1 +/
Но имя комитерп конечно же нам не сообщишь. Это же не Jia Tan, это другое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #28

22. Сообщение от Аноним (22), 16-Окт-25, 13:42   –2 +/
Но ведь ты же говорил про альтернативы портянкам. Как же они называются?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #30

23. Сообщение от Аноним (22), 16-Окт-25, 13:43   +/
На что ты заменишь на пхп или джаваскрипт?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

24. Сообщение от Аноним (24), 16-Окт-25, 13:43   +/
Реально на 100%
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #26

25. Сообщение от Аноним (25), 16-Окт-25, 13:44    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

26. Сообщение от Аноним (19), 16-Окт-25, 13:51   +1 +/
Есть реальный примеры, когда мигрировали с виндового домена без потери функциональности?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #34, #38

27. Сообщение от Соль земли2 (?), 16-Окт-25, 13:55   +/
Исправили они это путём прогона name через isalnum.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #43

28. Сообщение от Аноним (16), 16-Окт-25, 14:16   –1 +/
да я не знаю, я патч скачал и посомтрел
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #58

29. Сообщение от epw (?), 16-Окт-25, 14:22    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору

30. Сообщение от Аноним (14), 16-Окт-25, 14:33   +3 +/
> Но ведь ты же говорил про альтернативы портянкам.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #59

31. Сообщение от User (??), 16-Окт-25, 14:35   +1 +/
Ну, я лет эээ... 15? назад через этот (Вроде бы этот, но зуб не дам) механизм отдавал пользаку ближайший к нему включенный (!) сетевой принтер. Не то, чтобы без этого нельзя было бы обойтись, это хорошо работало и сильно упрощало процесс печати - но я был моложе и глупее...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

32. Сообщение от _kp (ok), 16-Окт-25, 14:53   +1 +/
>>Клиент без аутентификации _МОЖЕТ_ отправить... любое имя NetBIOS

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

Ответить | Правка | Наверх | Cообщить модератору

33. Сообщение от Аноним (33), 16-Окт-25, 15:32   –1 +/
> Вместо того, чтобы написать

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #42

34. Сообщение от Аноним (34), 16-Окт-25, 17:16   +/
Конечно нет. В самбе нет такого гуя как в виндовс сервере. А это весьма существенная функциональность. Говорят что можно типа rsat прикрутить к самбе, типа будет похоже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #44

37. Сообщение от Аноним (37), 16-Окт-25, 17:29   +1 +/
>> А что, чекер боровов уже и передаваемые аргументы от спецсимволов чистит?
> Но ведь он ничего не говорил про Раст.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

38. Сообщение от Аноним (5), 16-Окт-25, 17:31   +/
> без потери функциональности?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

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

41. Сообщение от Аноним (40), 16-Окт-25, 17:59   +/
Это как-то отменяет тот факт, что на сервере буквально торчит вариация 'curl | bash'?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

42. Сообщение от Аноним (40), 16-Окт-25, 18:03   +/
Разрешённые символы: SPC, a-z, A-Z, 0-9. Если вы боитесь писать такой парсер (с учётом того, что вся нужная память уже выделена и размеры полей известны), то вам нужно прекратить программировать прямо сейчас.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #45

43. Сообщение от Аноним (40), 16-Окт-25, 18:06   +/
Другой вопрос, а что вообще предполагалось передавать в поле winws hook в самом протоколе SMB. В винде никакого баша, когда это придумывали, не было. И учитывая отсутствие пробелов в примере, кажется там должно быть как раз слово, попадающее под [-_a-zA-Z0-9].
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

44. Сообщение от Нубасий (?), 16-Окт-25, 18:10   +/
> Конечно нет. В самбе нет такого гуя как в виндовс сервере. А
> это весьма существенная функциональность. Говорят что можно типа rsat прикрутить к
> самбе, типа будет похоже.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #47

45. Сообщение от Аноним (48), 16-Окт-25, 18:48   +/
>Разрешённые символы: SPC, a-z, A-Z, 0-9.

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

47. Сообщение от Аноним (34), 16-Окт-25, 20:35   +1 +/
разграничение прав на уровне пользователя, аутентификация, шифрование траффика
и готова спецолимпиада на тему нфс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #54

48. Сообщение от Аноним (48), 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; (*тут оставшаяся часть команды *)]]

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

49. Сообщение от Аноним (48), 16-Окт-25, 21:00   +/
Справедливости ради, в башпортянках точно таких же уязвимостей с полным отсутствием экранирования тоже хватает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #52

51. Сообщение от Аноним (52), 16-Окт-25, 21:02   +/
А багу то почти 20 лет...

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #53

52. Сообщение от Аноним (52), 16-Окт-25, 21:32   +/
> никогда не берут чужие библиоеки
> всегда пишут свои дырявые велосипеды

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

53. Сообщение от Аноним (54), 16-Окт-25, 21:47   +/
Странно... Почему-то программисты на расте не могут исправить эту сишную дырень...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

54. Сообщение от Аноним (54), 16-Окт-25, 21:50   +/
И какую задачу ты не смог решить на линуксе?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #57

55. Сообщение от 12yoexpert (ok), 16-Окт-25, 22:05   +/
*переписывать
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

57. Сообщение от Аноним (34), 16-Окт-25, 23:07   +/
Не смог ответить на бонусный вопрос - зачем вся эта мутотень шашечками нфс, когда можно спокойно ездить на самбе/ссхфс.
Судя по распространенности нфс с самбой,  вопрос оказался риторическим.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

58. Сообщение от Аноним (22), 16-Окт-25, 23:52   +/
Так откатитсь до комитета когда появилось то что патч патчит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

59. Сообщение от Аноним (22), 16-Окт-25, 23:53   +/
Если нет альтернативы то чего ты тогда ку_карекаешь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #60

60. Сообщение от Аноним (60), 17-Окт-25, 00:48    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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