Брешь OpenSSH позволяет найти пользователей на сервере, патча пока нет

Брешь OpenSSH позволяет найти пользователей на сервере, патча пока нет

Брешь OpenSSH позволяет найти пользователей на сервере, патча пока нет

Исследователи сообщают о серьезной уязвимости в OpenSSH, которая позволяет удаленному злоумышленнику определить, есть ли на атакуемом сервере определенный пользователь (username enumeration).

О проблеме безопасности сообщили эксперты Дариуш Титко и Михал Сайдак.

Исследователи так описывают брешь:

«Мы обнаружили, что удаленный атакующий может вычислить, существует ли определенный пользователь на целевом сервере OpenSSH».

  static int
  userauth_pubkey(struct ssh *ssh)
  {
 ...
 if (!authctxt->valid) {
 debug2("%s: disabled because of invalid user", __func__);
 return 0;
 }
 if ((r = sshpkt_get_u8(ssh, &have_sig)) != 0 ||
 (r = sshpkt_get_cstring(ssh, &pkalg, NULL)) != 0 ||
 (r = sshpkt_get_string(ssh, &pkblob, &blen)) != 0)
 fatal("%s: parse request failed: %s", __func__, ssh_err(r));

Помимо этого, злоумышленник может попытаться аутентифицировать пользователя с помощью специально созданного вредоносного пакета.

На данный момент брешь не имеет CVE-идентификатора, и исследователи убеждены, что ей должны его присвоить.

«Мы считаем, что этой уязвимости нужно дать идентификатор CVE, она затрагивает все существующий версии OpenSSH (мы протестировали вплоть до OpenSSH 2.3.0, выпущенной в ноябре 2000 года)».

Специалисты опубликовали POC-код на GitHub. Они обеспокоены тем, что об уязвимости уже публично известно, а патча все еще нет. Это подвергает многих пользователей риску.

Проводник Windows падал не из-за Microsoft, виноват оказался деинсталлятор

Инженер Microsoft Рэймонд Чен рассказал любопытную историю отладки загадочных падений Проводника. Сначала всё выглядело так, будто в Windows внезапно появился неприятный баг. Но виновником оказалась вовсе не Microsoft, а сторонний деинсталлятор.

Проблема проявилась как резкий всплеск сбоев Проводника. Инженеры начали изучать дампы и заметили странную деталь: падала 32-битная версия программы, запущенная на 64-битных системах Windows.

Такая версия Проводника всё ещё есть в Windows ради совместимости со старыми приложениями. Обычно современные системы почти не используют этот путь. Но в данном случае сторонний деинсталлятор каким-то образом заставлял систему обращаться именно к этому устаревшему компоненту.

Дальше выяснилось, что деинсталлятор некорректно работал с системными API: использовал неправильное соглашение о вызовах функций и неверно обрабатывал параметры стека. Из-за этого при каждой неудачной операции данные из стека удалялись неправильно.

Поскольку процесс повторялся в цикле, повреждение памяти постепенно накапливалось. В какой-то момент указатель стека уезжал в область активного кода, и Проводник падал.

Со стороны всё выглядело как типичная системная ошибка: софт снова и снова аварийно завершал работу, создавая ощущение, что проблема в самой Windows. На деле операционная система лишь показывала последствия ошибки в стороннем ПО.

Чен напомнил важную вещь: в экосистеме Windows с миллиардами устройств и огромным количеством приложений далеко не каждый сбой компонента Microsoft означает баг в Windows. Сторонние программы тоже могут ломать системные процессы, особенно если неправильно используют низкоуровневые API.

RSS: Новости на портале Anti-Malware.ru