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

Исходное сообщение
"Уязвимость в пакетном менеджере Cargo"

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

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


Содержание

Сообщения в этом обсуждении
"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноньимъ , 03-Авг-23 22:26 
Это и уязвимостью то сложно назвать... На каждый баг новости будемс создавать?

"Уязвимость в пакетном менеджере Cargo"
Отправлено НяшМяш , 03-Авг-23 23:06 
Это же про раст. Надо было подкинуть топлива местным кекспертам.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Dzen Python , 03-Авг-23 23:15 
А чому нет?
Макать фанатиков НЕВЕРОЯТНОСТНО БИЗАПАШСТНОГО языка всегда прельстиво и любовно

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 13:21 
ну так раст и не защищает от оставшихся 30% ошибок, от (обзовём их, как тут любят) "логических" (хотя все ошибки от логики или ее отсутствия). С этим вам когда-нибудь в будущем ChatGPT42 поможет. Главное, чтобы он в процессе исключения ошибок не решил избавиться от элементов системы, постоянно совершающих ошибки по природе своей.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Anon3 , 04-Авг-23 16:28 
Ну вон эту ошибку можно было сделать и не логической
Но вот могли же в языке сделать для umask-а единственного владельца с контролем его жизни и учетом работы на всей цепочке вызовов данного кода (передача состояния начиная от разработчика, потом по сети до юзера, и наконец до запуска сборщиком), аналогично работе с указателями.
И не сделали

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 17:19 
Ты еще скажи, чтобы "в языке" (операторами языка, его системой типов и т.д.) они котиков с ютуба качали и перекодировали в 30 форматов. В языке - нет, не могли. А в отдельной утилите обработать ситуацию - должны были. Потому и ошибка.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 07-Авг-23 20:46 
Забыли учесть umask. Как это зависит от языка, на котором это забыли?

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 03-Авг-23 23:16 
Сишники  самое главное виноваты.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 03:29 
> Это и уязвимостью то сложно назвать... На каждый баг новости будемс создавать?

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


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

"Уязвимость в пакетном менеджере Cargo"
Отправлено Anonymous116723333333333 , 03-Авг-23 22:34 
Как в гите на папку target? :^))))))))

"Уязвимость в пакетном менеджере Cargo"
Отправлено ИмяХ , 03-Авг-23 23:22 
Раст все равно самый классный язык, пусть в нем и есть дыры. Это прикольно. Раст даже наша порноактриса рекламировала. Вот она зачётная дырка.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 05:09 
А вот если бы писали на сишечке, то в комплекте к багу было бы еще несколько выходов за пределы буферов и всякие там use after free и обращения по неинициализированным указателям.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Минона , 04-Авг-23 09:03 
Я полагаю что её дырка заезженная.
Незачот =)

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 13:13 
Давно неустраняемая уязвимость :)

"Уязвимость в пакетном менеджере Cargo"
Отправлено Самый Лучший Гусь , 03-Авг-23 23:49 
Это не уязвимость а баг

"Уязвимость в пакетном менеджере Cargo"
Отправлено деанон , 04-Авг-23 12:16 
Прочитай этимологию слова уязвимость

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 05-Авг-23 19:59 
Прочитай слово "баг". Это несложно, там всего три буквы.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 00:32 
a tar разве не так же делает?

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 07:44 
А tar - это пакетный менеджер безопасного языка?

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 10:49 
> a tar разве не так же делает?

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 12:28 
Для tar есть ключ -p, который надо задавать явно для не суперпользователей.

"Уязвимость в пакетном менеджере Cargo"
Отправлено An2 , 04-Авг-23 00:52 
> All Rust versions before 1.71.1 on UNIX-like systems (like macOS and Linux) are affected.

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 05:49 
Любопытно что в комментариях постоянно говорят про то как раст защищает от выхода за пределы буферов и массивов, делает память шелковой и безопасной, лечит баги, а сам раст в документации говорит что дает защиту только от double-free и use-after-free, и то только если в unsafe-коде не будет багов.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Dzen Python , 04-Авг-23 06:38 
Каков реквест - таков и ответ.
Благодари растофанатиков, у которых раст был панацеей от всего.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Царь бог лучший князь , 04-Авг-23 06:45 
А какое отношение отсутствие проверки umask имеет к работе с памятью?

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 09:53 
время, сэкономленное на поиск проблем в работе с памятью, по идее должно было пойти на продумывание других вещей

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 16:03 
Ну то есть

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено pashev.ru , 04-Авг-23 08:31 
> Если в архиве имеются файлы с правами, разрешающими запись для всех пользователей, то они будут распакованы без очистки данных прав, что позволит любому локальному пользователю изменить код зависимости

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

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 10:51 
> Это опеннет или лента.вру?
> Для начала «локальный пользователь» должен получить доступ в хомяк.

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено pashev.ru , 04-Авг-23 11:35 
> На хомяки часто права в духе 755 по дефолту

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Серб , 04-Авг-23 13:33 
Что бы выполнить код от имени этого пользователя, очевидно же.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 06-Авг-23 02:45 
>> На хомяки часто права в духе 755 по дефолту
> Зачем тогда возиться с каким-то Растом? )

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

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 17:48 
> На хомяки часто права в духе 755 по дефолту

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 06-Авг-23 02:46 
>> На хомяки часто права в духе 755 по дефолту
> Где именно? В твоих фантазиях или на серверах безруких админов? Конкретнее.

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 11:33 
umask - это абсолютное legacy, нарушающее все принципы ООП, о существовании которого я узнал исключительно из этой новости.

"Уязвимость в пакетном менеджере Cargo"
Отправлено Серб , 04-Авг-23 13:37 
С чего вдруг?

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

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

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


"Уязвимость в пакетном менеджере Cargo"
Отправлено Аноним , 04-Авг-23 22:19 
Небольшой наброс на тему ненужности Раста: не нужен, т.к. есть флаги компиляции вида -Warray-bounds.

"Уязвимость в пакетном менеджере Cargo"
Отправлено uis , 06-Авг-23 02:32 
Стабильность так и прёт