LINUX.ORG.RU

Обнаружена возможность обхода пароля в GRUB 1.97

 ,


0

0

Через две недели после релиза GRUB 1.97 была найдена ошибка позволяющая обойти пароль загрузчика.

Например, если у вас пароль «linuxorgru», то обойти можно было просто введя например «l» или «org» или любую часть строки (отчёт об ошибке в баг-трекере Debian).

Также в релизе GRUB 1.97.1 доступна поддержка GNU/Hurd и исправления сборки для MacOSX.

Релиз доступен для загрузки с FTP сервера проекта.

>>> Подробности

★★★★★

Проверено: maxcom ()

Действительно, непорядок. Когда у тебя пароль linuxorgru, должна быть возможность входить по паролю "lor". а уж если пароль bashorgru - то должно вообще отрубать возможность входа куда-то кроме Windows. ждём патча.

anonymous
()

>GNU/Hurd

Пока не появится официальный Debian GNU/Hurd даже смотреть не буду

unrealix
()

Ну и решето!

anonymous
()

Какой интересный баг. :)

cruxish ★★★★
()
Ответ на: комментарий от cruxish

> Автодополнение пароля? ;)

21 век на дворе, нужно больше сервиса:


опечатка? возможно имелось ввиду qwerty?

также до этого у нас набирали: qwerty qwery блинопятьзабыл

mobile_zadrod
()
Ответ на: комментарий от cruxish

>Например, если у вас пароль "linuxorgru", то обойти можно было просто введя например "l" или "org" или любую часть строки

Т.е. любой пароль любой длины можно было взломать за (абсолютный максимум) 35 попыток? Ну и решето. Кошмар.

>Автодополнение пароля? ;)


Это было тонко.

jcd ★★★★★
()
Ответ на: комментарий от FatBastard

>А в старом, ЕМНИП, была поддержка хешированных паролей

В старом была, в новом пока нет.

Black_Shadow ★★★★★
()

Ну и по традиции — «РЕШЕТО!» :)

hateful
()

Это всё из-за того, что сразу надо было делать нормальную поддержку паролей (как в 0.97), а не этот огрызок.

Black_Shadow ★★★★★
()

Они там упоротые что-ли писали проверку паролей, этож нарочно так еще надо запрограммировать.

praseodim ★★★★★
()
Ответ на: комментарий от unt1tled

даешь полнотекстовый режим проверки паролей: "Теперь GRUB знает русский язык: при вводе пароля "афигеть" будут также проверенны пароли "афигенно". "афигел" и так далее..."

zld
()

Мало того что монстр, так ещё и дырявый...

Cancellor ★★★★☆
()

Мда, разочаровывает такое «качество».

Irben ★★★
()

Чуть было не возвернулись темные времена виндоус 98, где для ввода пароля достаточно было нажать ескейп.

anonymous
()

Пароль в грубе нужен только для защиты венды.

Neko
()

Да.. Это они сравнение двух строк не смогли написать? Или это шутка такая?

mono ★★★★★
()

Не, а что, кто-то реально использует пароль в загрузчике? Зачем? Чтоб на логин не ставить?

yirk ★★★
()
Ответ на: комментарий от ierton

На ум приходит только это. Интересно: как можно накосячить в реализации strcmp, так чтобы оно настолько дырявым было?

eugene2k
()
Ответ на: комментарий от yirk

> Не, а что, кто-то реально использует пароль в загрузчике? Зачем? Чтоб на логин не ставить?

редко но полезно, когда машинку отдаешь клиенту и что бы он туда не лазил (про переброску винтов и прочее писать не надо, для простых кастомеров достаточно)

real_maverick ★★★
()

Интересно, а просто * при вводе пароля прокатит ?

aldayneko
()
Ответ на: комментарий от legolegs

> Например чтоб школота с флешки не грузилась.

сдается мне, пароль в grub на возможности загрузки с флешки никак не скажется.

> Да что там, про "kernel /vmlinuz ro s" слышал?


а в сингл-мод разве рутовый пароль не спрашивают?

isden ★★★★★
()

Собственно, бажный код:

int
grub_auth_strcmp (const char *user_input, const char *template)
{
  int ok = 1;
  const char *ptr1, *ptr2;
  for (ptr1 = user_input, ptr2 = template; *ptr1; ptr1++)
    if (*ptr1 == (ptr2 ? *ptr2 : ptr1[1]) && ok && ptr2 != NULL)
      ptr2++;
    else
      ok = 0;

  return !ok;
}

Внимание вопрос: что курил автор это года?

Йопт. и этими руками они потом едят :)

anonymous
()
Ответ на: Патч в студию от legolegs

А вот патченная версия

int
grub_auth_strcmp (const char *s1, const char *s2)
{
  int ret;
  grub_uint64_t end;

  end = grub_get_time_ms () + 100;
  ret = grub_strcmp (s1, s2);

  /* This prevents an attacker from deriving information about the
     password from the time it took to execute this function.  */
  while (grub_get_time_ms () < end);

  return ret;
}
anonymous
()

Ну, во-первых, РЕШЕТО!!!

Во-вторых, а зачем нужен пароль на загрузчик? Если к компу есть физический доступ, вскрыть его несложно, пароль на загрузчике не помеха. Если же его нет - то и на загрузчик пароль не нужен. Итого в двух этих случаях пароль не нужен/не поможет. Или может расскажете случаи когда пароль на загрузку нужен, что пароли на аккаунты не помогают? Про вопли про загрузку с init=/bin/sh могу ответить, что можно отрубить параметры загрузки и жить счастливо.

anonimus_nax
()
Ответ на: комментарий от anonimus_nax

>Во-вторых, а зачем нужен пароль на загрузчик? Если к компу есть физический доступ, вскрыть его несложно

А зачем нужен замок на двери, если могут влезть в окно?

И да,решето!!!1111(и зачем такое г. в Убунту всунули)

nitz ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.