The OpenNET Project / Index page

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

Уязвимость в пакетном менеджере Cargo

03.08.2023 22:11

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

Если в архиве имеются файлы с правами, разрешающими запись для всех пользователей, то они будут распакованы без очистки данных прав, что позволит любому локальному пользователю изменить код зависимости и добиться выполнения своего кода во время компиляции и выполнения проекта другим пользователем. Уязвимость устранена в выпуске Rust 1.71.1.

  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Уязвимость в пакетном менеджере Cargo, применяемом в экосистеме Rust
  3. OpenNews: Уязвимости в пакетном менеджере Cargo, применяемом для проектов на языке Rust
  4. OpenNews: Уязвимости в Please, альтернативе sudo, написанной на языке Rust
  5. OpenNews: Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов
  6. OpenNews: Уязвимость в стандартной библиотеке языка Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59548-cargo
Ключевые слова: cargo, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноньимъ (ok), 22:26, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Это и уязвимостью то сложно назвать... На каждый баг новости будемс создавать?
     
     
  • 2.5, НяшМяш (ok), 23:06, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Это же про раст. Надо было подкинуть топлива местным кекспертам.
     
  • 2.6, Dzen Python (ok), 23:15, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А чому нет?
    Макать фанатиков НЕВЕРОЯТНОСТНО БИЗАПАШСТНОГО языка всегда прельстиво и любовно
     
     
  • 3.38, Аноним (38), 13:21, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну так раст и не защищает от оставшихся 30% ошибок, от (обзовём их, как тут любят) "логических" (хотя все ошибки от логики или ее отсутствия). С этим вам когда-нибудь в будущем ChatGPT42 поможет. Главное, чтобы он в процессе исключения ошибок не решил избавиться от элементов системы, постоянно совершающих ошибки по природе своей.
     
     
  • 4.44, Anon3 (?), 16:28, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну вон эту ошибку можно было сделать и не логической
    Но вот могли же в языке сделать для umask-а единственного владельца с контролем его жизни и учетом работы на всей цепочке вызовов данного кода (передача состояния начиная от разработчика, потом по сети до юзера, и наконец до запуска сборщиком), аналогично работе с указателями.
    И не сделали
     
     
  • 5.45, Аноним (38), 17:19, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты еще скажи, чтобы "в языке" (операторами языка, его системой типов и т.д.) они котиков с ютуба качали и перекодировали в 30 форматов. В языке - нет, не могли. А в отдельной утилите обработать ситуацию - должны были. Потому и ошибка.
     
  • 3.54, Аноним (54), 20:46, 07/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Забыли учесть umask. Как это зависит от языка, на котором это забыли?

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

     
  • 2.8, Аноним (8), 23:16, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сишники  самое главное виноваты.
     
  • 2.16, Аноним (-), 03:29, 04/08/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.3, Аноним (3), 22:28, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    а че, карго куда-то не в хомяк распаковывает? У /home/$USER обычно 0700, так что $ANOTHER_USER будет кусать локти, а не "изменять код зависимости". и почему в архиве сохраняются пермишоны как есть, а не как в гите? (100755, 100644 и усё, остальные не поддерживается)
     
     
  • 2.4, Anonymous116723333333333 (?), 22:34, 03/08/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как в гите на папку target? :^))))))))
     

  • 1.9, ИмяХ (?), 23:22, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Раст все равно самый классный язык, пусть в нем и есть дыры. Это прикольно. Раст даже наша порноактриса рекламировала. Вот она зачётная дырка.
     
     
  • 2.18, Аноним (18), 05:09, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А вот если бы писали на сишечке, то в комплекте к багу было бы еще несколько выходов за пределы буферов и всякие там use after free и обращения по неинициализированным указателям.
     
  • 2.28, Минона (ok), 09:03, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я полагаю что её дырка заезженная.
    Незачот =)
     
     
  • 3.37, Аноним (37), 13:13, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Давно неустраняемая уязвимость :)
     

  • 1.11, Самый Лучший Гусь (?), 23:49, 03/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Это не уязвимость а баг
     
     
  • 2.35, деанон (ok), 12:16, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитай этимологию слова уязвимость
     
     
  • 3.49, Аноним (49), 19:59, 05/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитай слово "баг". Это несложно, там всего три буквы.
     

  • 1.14, Аноним (14), 00:32, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    a tar разве не так же делает?
     
     
  • 2.25, Аноним (25), 07:44, 04/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.30, Аноним (-), 10:49, 04/08/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.36, Аноним (36), 12:28, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для tar есть ключ -p, который надо задавать явно для не суперпользователей.
     

  • 1.15, An2 (?), 00:52, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > All Rust versions before 1.71.1 on UNIX-like systems (like macOS and Linux) are affected.

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

     
  • 1.19, Аноним (19), 05:49, 04/08/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (4)

  • 1.27, pashev.ru (?), 08:31, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Если в архиве имеются файлы с правами, разрешающими запись для всех пользователей, то они будут распакованы без очистки данных прав, что позволит любому локальному пользователю изменить код зависимости

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

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

     
     
  • 2.31, Аноним (-), 10:51, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это опеннет или лента.вру?
    > Для начала «локальный пользователь» должен получить доступ в хомяк.

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

     
     
  • 3.34, pashev.ru (?), 11:35, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > На хомяки часто права в духе 755 по дефолту

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

     
     
  • 4.39, Серб (ok), 13:33, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что бы выполнить код от имени этого пользователя, очевидно же.
     
  • 4.52, Аноним (-), 02:45, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> На хомяки часто права в духе 755 по дефолту
    > Зачем тогда возиться с каким-то Растом? )

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

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

     
  • 3.46, Аноним (46), 17:48, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > На хомяки часто права в духе 755 по дефолту

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

     
     
  • 4.53, Аноним (-), 02:46, 06/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> На хомяки часто права в духе 755 по дефолту
    > Где именно? В твоих фантазиях или на серверах безруких админов? Конкретнее.

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

     

  • 1.33, Аноним (33), 11:33, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    umask - это абсолютное legacy, нарушающее все принципы ООП, о существовании которого я узнал исключительно из этой новости.
     
     
  • 2.40, Серб (ok), 13:37, 04/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С чего вдруг?

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

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

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

     

  • 1.47, Аноним (47), 22:19, 04/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Небольшой наброс на тему ненужности Раста: не нужен, т.к. есть флаги компиляции вида -Warray-bounds.
     
  • 1.51, uis (??), 02:32, 06/08/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Стабильность так и прёт
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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