The OpenNET Project / Index page

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



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

"Уязвимость в пакетном менеджере Cargo"  +/
Сообщение от opennews (?), 03-Авг-23, 22:23 
В пакетном менеджере Cargo, применяемом для управления пакетами и сборки проектов на языке Rust, выявлена уязвимость (CVE-2023-38497), вызванная отсутствием учёта значения  umask в процессе извлечения файлов из пакетов на Unix-подобных системах, что приводит к установке для извлечённых файлов исходных прав доступа, указанных в архиве...

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

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

Оглавление

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

2. Сообщение от Аноньимъ (ok), 03-Авг-23, 22:26   +12 +/
Это и уязвимостью то сложно назвать... На каждый баг новости будемс создавать?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #6, #8, #16

3. Сообщение от Аноним (3), 03-Авг-23, 22:28   +2 +/
а че, карго куда-то не в хомяк распаковывает? У /home/$USER обычно 0700, так что $ANOTHER_USER будет кусать локти, а не "изменять код зависимости". и почему в архиве сохраняются пермишоны как есть, а не как в гите? (100755, 100644 и усё, остальные не поддерживается)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #4

4. Сообщение от Anonymous116723333333333 (?), 03-Авг-23, 22:34   +3 +/
Как в гите на папку target? :^))))))))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

5. Сообщение от НяшМяш (ok), 03-Авг-23, 23:06   +7 +/
Это же про раст. Надо было подкинуть топлива местным кекспертам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

6. Сообщение от Dzen Python (ok), 03-Авг-23, 23:15   +2 +/
А чому нет?
Макать фанатиков НЕВЕРОЯТНОСТНО БИЗАПАШСТНОГО языка всегда прельстиво и любовно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #38, #54

8. Сообщение от Аноним (8), 03-Авг-23, 23:16   +/
Сишники  самое главное виноваты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

9. Сообщение от ИмяХ (?), 03-Авг-23, 23:22   +1 +/
Раст все равно самый классный язык, пусть в нем и есть дыры. Это прикольно. Раст даже наша порноактриса рекламировала. Вот она зачётная дырка.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18, #28

11. Сообщение от Самый Лучший Гусь (?), 03-Авг-23, 23:49   +2 +/
Это не уязвимость а баг
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

14. Сообщение от Аноним (14), 04-Авг-23, 00:32   +2 +/
a tar разве не так же делает?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #25, #30, #36

15. Сообщение от An2 (?), 04-Авг-23, 00:52   –1 +/
> All Rust versions before 1.71.1 on UNIX-like systems (like macOS and Linux) are affected.

Видно, когда MS разрабатывает. И ещё другие из-под винды.

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

16. Сообщение от Аноним (-), 04-Авг-23, 03:29   –1 +/
> Это и уязвимостью то сложно назвать... На каждый баг новости будемс создавать?

Нарушение системы прав и выполнение левого кода благодаря недо-пакетнику - вполне себе вулн.

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

18. Сообщение от Аноним (18), 04-Авг-23, 05:09   –2 +/
А вот если бы писали на сишечке, то в комплекте к багу было бы еще несколько выходов за пределы буферов и всякие там use after free и обращения по неинициализированным указателям.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

19. Сообщение от Аноним (19), 04-Авг-23, 05:49   +/
Любопытно что в комментариях постоянно говорят про то как раст защищает от выхода за пределы буферов и массивов, делает память шелковой и безопасной, лечит баги, а сам раст в документации говорит что дает защиту только от double-free и use-after-free, и то только если в unsafe-коде не будет багов.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #21, #42

20. Сообщение от Dzen Python (ok), 04-Авг-23, 06:38   –2 +/
Каков реквест - таков и ответ.
Благодари растофанатиков, у которых раст был панацеей от всего.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

21. Сообщение от Царь бог лучший князь (?), 04-Авг-23, 06:45   +1 +/
А какое отношение отсутствие проверки umask имеет к работе с памятью?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #29

25. Сообщение от Аноним (25), 04-Авг-23, 07:44   +/
А tar - это пакетный менеджер безопасного языка?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

27. Сообщение от pashev.ru (?), 04-Авг-23, 08:31   +/
> Если в архиве имеются файлы с правами, разрешающими запись для всех пользователей, то они будут распакованы без очистки данных прав, что позволит любому локальному пользователю изменить код зависимости

Это опеннет или лента.вру?

Для начала «локальный пользователь» должен получить доступ в хомяк.

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

28. Сообщение от Минона (ok), 04-Авг-23, 09:03   +1 +/
Я полагаю что её дырка заезженная.
Незачот =)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #37

29. Сообщение от Аноним (29), 04-Авг-23, 09:53   +2 +/
время, сэкономленное на поиск проблем в работе с памятью, по идее должно было пойти на продумывание других вещей
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

30. Сообщение от Аноним (-), 04-Авг-23, 10:49   +/
> a tar разве не так же делает?

Tar вообще не менеджер пакетов а архиватор.

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

31. Сообщение от Аноним (-), 04-Авг-23, 10:51   –2 +/
> Это опеннет или лента.вру?
> Для начала «локальный пользователь» должен получить доступ в хомяк.

А в чем проблемы то? На хомяки часто права в духе 755 по дефолту. Ну вот и перезаписать тому лопуху файл заодно, с такими пермишнами.

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

33. Сообщение от Аноним (33), 04-Авг-23, 11:33   –3 +/
umask - это абсолютное legacy, нарушающее все принципы ООП, о существовании которого я узнал исключительно из этой новости.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40

34. Сообщение от pashev.ru (?), 04-Авг-23, 11:35   +/
> На хомяки часто права в духе 755 по дефолту

Зачем тогда возиться с каким-то Растом? )

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

35. Сообщение от деанон (ok), 04-Авг-23, 12:16   +/
Прочитай этимологию слова уязвимость
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #49

36. Сообщение от Аноним (36), 04-Авг-23, 12:28   +/
Для tar есть ключ -p, который надо задавать явно для не суперпользователей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

37. Сообщение от Аноним (37), 04-Авг-23, 13:13   +1 +/
Давно неустраняемая уязвимость :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

38. Сообщение от Аноним (38), 04-Авг-23, 13:21   +1 +/
ну так раст и не защищает от оставшихся 30% ошибок, от (обзовём их, как тут любят) "логических" (хотя все ошибки от логики или ее отсутствия). С этим вам когда-нибудь в будущем ChatGPT42 поможет. Главное, чтобы он в процессе исключения ошибок не решил избавиться от элементов системы, постоянно совершающих ошибки по природе своей.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #44

39. Сообщение от Серб (ok), 04-Авг-23, 13:33   –1 +/
Что бы выполнить код от имени этого пользователя, очевидно же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

40. Сообщение от Серб (ok), 04-Авг-23, 13:37   +/
С чего вдруг?

Обычный фильтр.

Хочешь объектоности - сделай интерфейс (обвязку) для манипулирования объектным.

Будет смотреться как обычные фильтры реализованные через объекты, кривовато. Но это нормально.

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

42. Сообщение от Аноним (-), 04-Авг-23, 16:03   +/
Ну то есть

#define rust(ptr) do { if (ptr) {free(ptr); ptr = NULL;}  } while (0);

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

44. Сообщение от Anon3 (?), 04-Авг-23, 16:28   –2 +/
Ну вон эту ошибку можно было сделать и не логической
Но вот могли же в языке сделать для umask-а единственного владельца с контролем его жизни и учетом работы на всей цепочке вызовов данного кода (передача состояния начиная от разработчика, потом по сети до юзера, и наконец до запуска сборщиком), аналогично работе с указателями.
И не сделали
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #45

45. Сообщение от Аноним (38), 04-Авг-23, 17:19   +1 +/
Ты еще скажи, чтобы "в языке" (операторами языка, его системой типов и т.д.) они котиков с ютуба качали и перекодировали в 30 форматов. В языке - нет, не могли. А в отдельной утилите обработать ситуацию - должны были. Потому и ошибка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

46. Сообщение от Аноним (46), 04-Авг-23, 17:48   +/
> На хомяки часто права в духе 755 по дефолту

Где именно? В твоих фантазиях или на серверах безруких админов? Конкретнее.

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

47. Сообщение от Аноним (47), 04-Авг-23, 22:19   +/
Небольшой наброс на тему ненужности Раста: не нужен, т.к. есть флаги компиляции вида -Warray-bounds.
Ответить | Правка | Наверх | Cообщить модератору

49. Сообщение от Аноним (49), 05-Авг-23, 19:59   +/
Прочитай слово "баг". Это несложно, там всего три буквы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

51. Сообщение от uis (??), 06-Авг-23, 02:32   +/
Стабильность так и прёт
Ответить | Правка | Наверх | Cообщить модератору

52. Сообщение от Аноним (-), 06-Авг-23, 02:45   +/
>> На хомяки часто права в духе 755 по дефолту
> Зачем тогда возиться с каким-то Растом? )

1) С правами 755 на хомяк - хомяк пользователя можно браузить.
2) Однао файлы вон того пользователя "почему-то" не перезапишешь, вот так сразу. Если там правов не отсыпят.

А хруст мало того что может, вот, правов на запись левым личностям отсыпать так еще и в том что может быть выполнено потом, очень удобно. Васян пропатчит сорц, юзер соберет, выполнит васянский код ничего не подозревая. И почему бы это не атака - черт бы его знает.

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

53. Сообщение от Аноним (-), 06-Авг-23, 02:46   +/
>> На хомяки часто права в духе 755 по дефолту
> Где именно? В твоих фантазиях или на серверах безруких админов? Конкретнее.

В линуксных дистрах, по дефолту, чудак.

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

54. Сообщение от Аноним (54), 07-Авг-23, 20:46   +/
Забыли учесть umask. Как это зависит от языка, на котором это забыли?

Это скорее бага в дизайне unix - по уму, umask следовало бы учитывать на уровне ОС. А так это просто "рекомендация", которую каждое приложение должно учитывать.

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


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

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




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

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