Брешь 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. Они обеспокоены тем, что об уязвимости уже публично известно, а патча все еще нет. Это подвергает многих пользователей риску.

Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

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

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