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

В Firefox VPN убрали лимит трафика до конца лета

Mozilla решила устроить пользователям Firefox небольшие летние каникулы без ограничений по трафику. Корпорация объявила, что до 31 августа снимает лимит трафика для встроенного VPN-сервиса Firefox VPN. Обычно пользователи получают 50 ГБ в месяц, для большинства задач этого хватает.

Но на ближайшие почти три месяца счётчик отключают полностью: качай, стримь и путешествуй по интернету без оглядки на лимиты.

Заодно Mozilla расширила список доступных локаций до 28 стран. В него вошли Австралия, Бельгия, Дания, Финляндия, Сингапур и ряд других государств.

Представители интернет-гиганта объясняют решение просто: летом люди чаще путешествуют, подключаются к публичным сетям Wi-Fi в аэропортах, гостиницах и кафе, а значит, нуждаются в дополнительной защите трафика.

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

Впрочем, есть нюанс. Безлимитный режим — акция временная. Уже с 1 сентября ограничения вернутся, и пользователи снова получат стандартные 50 ГБ в месяц.

Есть и ещё одно ограничение. Firefox VPN доступен далеко не во всех странах мира. Mozilla отдельно напоминает, что сервис работает только в поддерживаемых регионах, список которых опубликован на сайте компании.

На фоне постоянных разговоров о блокировках, ограничениях и борьбе с VPN новость выглядит почти необычно. Пока одни сервисы режут доступ и вводят лимиты, Mozilla делает ровно наоборот.

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