ИБ-специалист опубликовал proof-of-concept эксплоит для устройств Wyze Cam v3, который открывает reverse shell и позволяет перехватить контроль над уязвимыми девайсами. Планировалось, что этот эксплоит будет использован на хакерском соревновании Pwn2Own, однако производитель выпустил патч за несколько дней до старта мероприятия.
Wyze Cam v3 — это бюджетные камеры видеонаблюдения, которые можно устанавливать внутри и снаружи помещений, они защищены в соответствии со стандартом IP65, поддерживают ночное видение, хранение данных на SD-картах, к ним можно поджключаться со смартфона.
ИБ-исследователь Питер Гейслер (Peter Geissler) обнаружил в последней версии прошивки Wyze Cam v3 две уязвимости, которые можно было объединить в цепочку для удаленного выполнения кода на уязвимых устройствах.
Первая проблема связана с обходом аутентификации DTLS (Datagram Transport Layer Security) в демоне iCamera и позволяет злоумышленникам использовать произвольные PSK (Pre-Shared Keys) во время хэндшейка TLS для обхода защитных мер.
Вторая уязвимость проявляется после установления аутентифицированной сессии DTLS, когда клиент отправляет объект JSON. Код iCamera, парсящий этот объект, некорректно работал с определенным массивом, что приводило к переполнению буфера стека, когда данные записывались в недопустимые участки памяти.
Злоумышленники могли использовать вторую уязвимость для перезаписи памяти стека, учитывая отсутствие в коде iCamera ряда средств защиты.
Эксплоит, который Гейслер теперь опубликовал на GitHub, объединяет эти уязвимости и предоставляет злоумышленникам интерактивный Linux root shell, превращая уязвимые камеры в устойчивые бэкдоры, которые позволяют злоумышленникам атаковать другие устройства в сети. Эксплоит работает на прошивках версий 4.36.10.4054, 4.36.11.4679 и 4.36.11.5859.
22 октября 2023 года разработчики Wyze выпустили обновление прошивки (4.36.11.7071), устраняющее эти проблемы, и теперь рекомендуют пользователям как можно скорее установить это обновление.
Интересно, что столь ранней публикацией эксплоита (ведь большинство пользователей еще не успели установить патчи) Гейслер попытался выразить свое недовольство стратегией Wyze в отношении выпуска исправлений.
Специалист объяснил изданию Bleeping Computer, что патч для камер Wyze был выпущен сразу после окончания регистрации участников на прошедшее недавно соревнование Pwn2Own Toronto. Неожиданный выход патча вынудил сразу несколько команд, у которых до этого момента на руках имелся рабочий эксплоит, отказаться от атаки на эти устройства.
При этом представители Wyze заявили исследователю, что это совпадение, и разработчики просто пытались обезопасить своих клиентов от угрозы, о которой узнали за несколько дней до старта состязания. Гейслер же утверждает, что производитель поступил так намеренно и выпустил патчи только для модели камеры, которую планировали атаковать на Pwn2Own, но не для других моделей, потому что хотел избежать плохого PR.
«Я хочу прояснить несколько моментов: мы не знали об этой проблеме на протяжении многих лет, это проблема в сторонней библиотеке, которую мы используем, и мы получили сообщение о баге всего за несколько дней до начала pwn2own. Как только мы получили сообщение через нашу программу bugbounty, мы исправили проблему за три дня и выложили патч в открытый доступ», — говорится в письме от представителя Wyze, которое получил Гейсер.
Другому исследователю компания сообщила, что сейчас специалисты Wyze выясняют, присутствует ли эта уязвимость в прошивках других устройств.