Фикс для бага обхода WhatsApp View Once продержался всего неделю

Фикс для бага обхода WhatsApp View Once продержался всего неделю

Фикс для бага обхода WhatsApp View Once продержался всего неделю

Недавно выпущенное Meta (признана экстремистской и запрещена в России) исправление работы функциональности View Once в WhatsApp продержалось всего неделю. Специалисты нашли способ обойти его и вновь многократно просматривать «одноразовые» сообщения.

На прошлой неделе мы писали об угрожающем конфиденциальности пользователей баге: злоумышленники могут обойти принцип единоразового просмотра сообщения («View once»).

Суть заключалась в том, что API-серверы воспринимали View Once как обычные сообщения, но с определённым флагом, который давал понять, что такое сообщение нужно показать лишь один раз.

Условное вредоносное приложение, способное обмениваться данными с упомянутыми серверами, могло просто проигнорировать этот флаг. Поэтому разработчики WhatsApp немного изменили код, что должно было затруднить обход View Once.

Первое время фикс действительно работал. Ряд пользователей даже жаловался на неработоспособность расширений для сохранения контента. Тем не менее, как выяснили специалисты компании Zengo, исправление оказалось неполным, так как сам корень уязвимости всё ещё присутствует в реализации View once.

«Изначально решение разработчиков выглядит неплохим шагом в верном направлении, однако его всё равно недостаточно. Основная проблема View Once в самой среде, у которой не должно быть возможности повторно показывать содержащие медиаконтент сообщения. И эта проблема до сих пор остаётся актуальной», — пишет Тал Беэри из Zengo.

Свои выводы, как и метод обхода фикса, эксперты представили в выложенном на YouTube видео:

Баг 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