Шесть Android-приложений Microsoft 365 вышли в прод с отключенной проверкой, которая должна была защищать передачу токенов между доверенными приложениями. В итоге угон аккаунтов Microsoft 365 перестал быть теорией из презентаций AppSec-команд: вредоносное приложение на смартфоне могло тихо запросить токен и получить доступ к почте, сообщениям Teams и файлам.
Речь идет о Word, Excel, PowerPoint, OneNote, Loop и Microsoft 365 Copilot для Android. Как пишет Dark Reading, проблему обнаружили исследователи Enclave: в релизах этих приложений по ошибке оставили включенной тестовую настройку, которая фактически отключала контроль доверия при обмене токенами между приложениями Microsoft на устройстве. Для пользователя это выглядит как удобный единый вход, но в такой модели одна неверная галочка в коде превращает «бесшовную авторизацию» в раздачу пропусков всем желающим.
По словам сооснователя Enclave и chief product officer Янира Царими, атакующему было достаточно распространить или обновить Android-приложение с небольшим фрагментом кода, который запрашивает токен у уязвимого приложения Microsoft. Если проверка доверенного получателя отключена, приложение возвращает токен без валидации источника запроса. Дальше схема банальна: токен выводится наружу и используется для доступа к ресурсам Microsoft 365. Царими отдельно подчеркнул неприятную деталь: это были FOCI-токены, которые можно долго переиспользовать и обновлять почти без видимых следов, а сетевой трафик и логи выглядят «как обычно». Для SOC это плохая новость: аномалия маскируется под штатную активность пользователя.
С технической стороны история особенно неприятна не из-за экзотического эксплойта, а из-за масштаба ошибки. Уязвимый код находился в общем Microsoft SDK, поэтому проблема распространялась сразу на несколько приложений. Это важный сюжет для мобильной разработки: общий SDK ускоряет выпуск фич, но точно так же масштабирует и дефект. Один неверный флаг в общей библиотеке бьет не по одной APK, а по целому семейству приложений. В эпоху, когда мобильные клиенты давно стали фронт-дверью к корпоративной почте, документам и чатам, цена такой оплошности уже измеряется не баг-репортом, а риском компрометации корпоративной учетной записи.
Enclave сообщила о проблеме Microsoft по процедуре responsible disclosure. Компания выпустила обновления и зарегистрировала несколько идентификаторов уязвимостей: CVE-2026-41100, CVE-2026-41101, CVE-2026-41102 и CVE-2026-42832. Оперативного комментария Dark Reading от Microsoft не получила. Сам по себе набор CVE здесь тоже показателен: речь не о единичном дефекте в одной сборке, а о серии связанных проблем, которые пришлось закрывать на стороне нескольких приложений. Для корпоративных администраторов вывод прозаичен: если парк Android-устройств обновляется «когда-нибудь потом», окно риска живет дольше, чем хотелось бы верить.
Для разработчиков эта история полезна именно своей приземленностью. Никакой магии, никаких редких условий, никакой атаки уровня шпионского ПО за миллионы долларов. Ошибка родилась в процессе поставки: тестовая настройка добралась до production и отключила критичный контроль вокруг токенов. Это тот класс сбоев, который не ловится красивыми манифестами о secure-by-design, если у команды нет скучной дисциплины: проверок конфигурации на этапе сборки, явного разделения debug и release-параметров, автоматических тестов на trust boundaries и ревью shared SDK с тем же упорством, что и ревью бэкенда. Мобильная часть стека слишком часто воспринимается как «тонкий клиент», хотя на деле именно она получает ключи от корпоративных данных.
Для бизнеса и ИТ-руководителей угон аккаунтов Microsoft 365 в таком сценарии означает еще одну неприятную вещь: компрометация может начаться не с фишингового письма и не с утечки пароля, а с установки безобидного на вид приложения на телефон сотрудника. Если токен уже украден, MFA на следующем слайде презентации не выглядит столь всесильной. CEO компании Approov Тед Миракко в комментарии Dark Reading напомнил очевидное, о котором часто вспоминают слишком поздно: бэкенд не должен считать любой предъявленный токен достаточным доказательством доверия. Нужна постоянная проверка целостности устройства и приложения, а не только корректности логина пользователя. И да, разработчикам мобильных приложений стоит исходить из того, что устройство уже потенциально заражено, а значит, секреты и токены нельзя воспринимать как данные, которые просто «полежат в клиенте и ничего не случится».
История с Android-приложениями Microsoft 365 неприятна не потому, что уязвимости иногда находят даже у больших вендоров, это давно не новость. Неприятно другое: чем плотнее корпоративные сервисы связаны общими токенами, SDK и механизмами единого входа, тем дороже обходится любая мелкая ошибка в доверительной цепочке. Похоже, следующий раунд конкуренции в мобильной безопасности будет идти уже не вокруг лозунгов про zero trust, а вокруг способности доказать, что один забытый debug-флаг не открывает дорогу к данным всей экосистемы.