Благодаря пентесту Dropbox удалось обнаружить три 0-day в macOS

Благодаря пентесту Dropbox удалось обнаружить три 0-day в macOS

Благодаря пентесту Dropbox удалось обнаружить три 0-day в macOS

На этой неделе команда Dropbox раскрыла детали трех критических уязвимостей в операционной системе macOS. По сути, они представляют собой некую связку брешей, которые вместе могут привести к удаленному выполнению кода на компьютерах Apple. Для эксплуатации этих брешей необходимо всего лишь заманить жертву на вредоносную веб-страницу.

Забавный факт — изначально проблемы безопасности обнаружили специалисты ИБ-компании Syndis, которую Dropbox наняла для проведения тестирований на проникновение в ИТ-инфраструктуру компании.

В ходе этих пентестов также проверялось программное обеспечение Apple, которое используют в Dropbox.

Уязвимости нашли в феврале этого года, тогда же о них сообщили Apple. Спустя месяц разработчики из Купертино выпустили обновления безопасности, которые полностью устранили эти проблемы.

По словам команды Dropbox, обнаруженные Syndis бреши затрагивают на только семейство macOS, а, скорее, пользователей браузера Safari. Эксплуатация возможна только в том случае, если пользователь зайдет на вредоносную страницу, используя Safari.

Вот эти три 0-day уязвимости:

  • CVE-2017-13890 — присутствует в компоненте macOS под названием CoreTypes. Позволяет Safari автоматически скачивать и монтировать образ диска, используя специально созданную злонамеренную веб-страницу.
  • CVE-2018-4176 — присутствует в процессе обработки Disk Images файлов .bundle. Эксплуатация этой бреши может позволить атакующему запустить вредоносное приложение с монтированного ранее диска.
  • CVE-2018-4175 — позволяет обойти антивирусную защиту macOS Gatekeeper, а именно проверку подписи кода.

Эксперты опубликовали видео, доказывающее наличие проблемы и демонстрирующее вектор атаки:

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