Автор Тема: CVE-2008-0166-like патчи для elbrus  (Прочитано 2276 раз)

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
CVE-2008-0166-like патчи для elbrus
« : 21.06.2021 16:24:53 »
Читаю я https://blog.handydev.com/fixing-coreutils-in-protected-mode и вижу
static struct randread_source *
simple_new (FILE *source, void const *handler_arg)
{
  struct randread_source *s = xmalloc (sizeof *s);
+  memset(s, 0, sizeof *s);
  s->source = source;
  s->handler = randread_error;
  s->handler_arg = handler_arg;
  return s;
}
Таким образом, вместо случайного содержимого памяти для инициализации какого-то ГСЧ используются нули.
Вот так и увеличиваем секъюрность на Эльбрусе  ;-)

Оффлайн trs

  • Давно тут
  • **
  • Сообщений: 284
Re: CVE-2008-0166-like патчи для elbrus
« Ответ #1 : 26.06.2021 05:19:57 »
В куче нет случайных данных. При старте приложения, даже псевдослучайных нет. Наверняка инициализация в другом месте.

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: CVE-2008-0166-like патчи для elbrus
« Ответ #2 : 26.06.2021 13:44:02 »
Таким образом, вместо случайного содержимого памяти для инициализации какого-то ГСЧ используются нули.
Тесты не проходят потому что случайные данные оказываются в не инициализированной структуре, а не потому, что в качестве случайных данных должны использоваться нули.
To moan or to solve -- that is the question!

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 233
Re: CVE-2008-0166-like патчи для elbrus
« Ответ #3 : 26.06.2021 14:09:37 »
Таким образом, вместо случайного содержимого памяти для инициализации какого-то ГСЧ используются нули.
Тесты не проходят потому что случайные данные оказываются в не инициализированной структуре, а не потому, что в качестве случайных данных должны использоваться нули.
ну так и надо инициализировать и заполнить случайными данными (urandom), а не нулями. Вообще непонятно что-то при таком раскладе shuf миксует или нет.

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: CVE-2008-0166-like патчи для elbrus
« Ответ #4 : 26.06.2021 20:33:41 »
Так заполняется структура, которая задействована при тестировании блока случайных данных, а не сами данные. Тест не проходит потому, что идёт обращение к не инициализированным данным в структуре, видимо на других архитектурах там уже нули.
To moan or to solve -- that is the question!