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

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

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

В МАКС нашли вход без пароля и СМС через токен в браузере

Вокруг российского мессенджера МАКС разгорелась новая дискуссия о безопасности. Пользователь Хабра под ником sansmaster рассказал, что для входа в веб-версию сервиса можно обойтись без пароля, СМС-кода и даже QR-аутентификации.

Правда, речь идёт не о взломе и не об уязвимости в классическом понимании.

Автор публикации обратил внимание, что после успешного входа в web.max.ru браузер сохраняет токен сессии в локальном хранилище (localStorage). Этот токен позволяет серверу идентифицировать пользователя и поддерживать активную сессию.

Через консоль разработчика браузера пользователь может извлечь сохранённый токен, а затем импортировать его в другой браузер или на другой компьютер. После перезагрузки страницы веб-версия МАКС откроется уже под нужной учётной записью, и всё это без ввода пароля, получения СМС или сканирования QR-кода.

 

По сути, речь идёт о переносе уже существующей сессии между браузерами. Сам автор подчёркивает, что никаких эксплойтов или обходов защиты здесь нет. Используются штатные механизмы браузера и данные, которые приложение само сохраняет на устройстве пользователя. Аналогичные принципы работы применяются и во многих других веб-сервисах.

 

Тем не менее публикация вызвала бурное обсуждение. Многие пользователи удивились тому, насколько легко можно получить доступ к токену через DevTools и перенести его в другую среду.

При этом есть важный нюанс. Для выполнения всей процедуры злоумышленнику уже необходим доступ к устройству или браузеру пользователя, где активна сессия МАКС. Без этого получить токен не получится.

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

 

Фактически история стала ещё одним напоминанием о том, что токен аутентификации зачастую представляет не меньшую ценность, чем пароль. Если он попадает в чужие руки, то может открыть доступ к аккаунту без каких-либо дополнительных проверок.

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