The OpenNET Project / Index page

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



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

Оглавление

Уязвимость в подсистеме io_uring ядра Linux, позволяющая получить права root из контейнера, opennews (??), 07-Авг-22, (0) [смотреть все]

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


4. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  –3 +/
Сообщение от Шарп (ok), 07-Авг-22, 11:46 
>Обращение к освобождённой памяти

rust

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

5. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +6 +/
Сообщение от Аноним (5), 07-Авг-22, 11:54 
Я слышал утверждения, будто бы раст спасает от состояний гонки и упрощает синхронизацию многопоточных программ, однако же на примере единственной существующей раст-программы мы видим, что всё становится только хуже.
Ответить | Правка | Наверх | Cообщить модератору

12. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +2 +/
Сообщение от Аноним (12), 07-Авг-22, 12:58 
Тебя обманули, либо ты не так понял. Раст защищает от гонок данных(data race). От race condition - нет. Это общеизвестный факт
Ответить | Правка | Наверх | Cообщить модератору

18. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Аноним (23), 07-Авг-22, 13:26 
Если он от этого не защищает значит раст не нужен.
Ответить | Правка | Наверх | Cообщить модератору

44. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  –1 +/
Сообщение от Аноним (44), 07-Авг-22, 14:43 
А раст еще и кофе варить не умеет, прикинь?
Ответить | Правка | Наверх | Cообщить модератору

58. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Аноним (58), 07-Авг-22, 15:57 
И кому нужна такая безопасная домохозяйка, которая даже кофе не умеет варить? В отличии от кофе-машин со встроенным линуксом на опасном си.
Ответить | Правка | Наверх | Cообщить модератору

81. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +1 +/
Сообщение от Ананимус (?), 07-Авг-22, 21:05 
>  Если он от этого не защищает значит раст не нужен.

use after free -- это datarace.

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

90. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Аноним (58), 08-Авг-22, 11:27 
> use after free
> race

кто/что с кем/чем гоняется?

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

92. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Ананимус (?), 08-Авг-22, 12:30 
> кто/что с кем/чем гоняется?

Вот смотри, есть такая фигня:

Thread1:

  struct example *a;

  a = kmalloc(sizeof(*a), GFP_KERNEL);
  if (!a)
          return -ENOMEM;

  free(a);

  /*
   * USE-AFTER-FREE
   */

  a->foo = 1;
  a->bar = 2;

Thread2:


  struct example *b;

  b = kmalloc(sizeof(*b), GFP_KERNEL);
  if (!b)
          return -ENOMEM;

  b->foo = 1;
  b->bar = 2;

  free(b);


Внутри kmalloc работает SLAB кеш:

# grep '^kmalloc-4k' /proc/slabinfo
kmalloc-4k           808    808   4096    8    8 : tunables    0    0    0 : slabdata    101    101      0

Это значит, что когда kmalloc выделяет память, он берет из per-CPU SLAB кеша уже готовый элемент и отдает отдает его тебе виде указателя на память. Когда ты делаешь free, элемент помечается как свободный и пихается обратно в per-CPU SLAB кеш. Лулз в том, что оставшийся указатель у Thread1 при этом никуда не девается, и он все так же может писать в элемент, который аллокатор уже отдал Thread2.

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

94. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +1 +/
Сообщение от Аноним (58), 08-Авг-22, 16:30 
Ничего не понял. Причем тут thread2? И без него (потоков) use-after-free существует, и может попортить чужие данные.

Или тут разговор про "data flow", когда можно устроить состояние гонки для потоков данных, по аналогии "race condition" в "control flow"

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

95. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Ананимус (?), 08-Авг-22, 16:35 
> Ничего не понял. Причем тут thread2? И без него (потоков) use-after-free существует,
> и может попортить чужие данные.
> Или тут разговор про "data flow", когда можно устроить состояние гонки для
> потоков данных, по аналогии "race condition" в "control flow"

Ага. От этих вещей Rust тебя защищает, не давая тебе компилировать код, в котором нет четких гарантий что ты владеешь памятью.

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

91. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +3 +/
Сообщение от АнонимкаРастуимка (?), 08-Авг-22, 11:48 
короче, простыми словами, раст нинужно?
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

99. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +2 +/
Сообщение от Брат Анон (ok), 08-Авг-22, 19:28 
Ты сейчас какую-то дичь прогнал. Рейс кондишен -- это совсем не юз афтер фри.
Рейс кондишн -- это два чиновника лезут своими грязными ручонками одновременно в бюджет. Один бюджет.
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

102. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Ананимус (?), 08-Авг-22, 23:27 
Ты просто не в курсе как аллокатор работает.
Ответить | Правка | Наверх | Cообщить модератору

25. "Уязвимость в подсистеме io_uring ядра Linux, позволяющая пол..."  +/
Сообщение от Аноним (25), 07-Авг-22, 13:36 
Пора настраивать скрытие комментариев.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

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

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




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

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