Microsoft выпустила исправления для четырёх уязвимостей спуфинга в Android-приложениях Word, PowerPoint, Excel и Microsoft 365 Copilot, которые позволяли любому приложению на устройстве получить токен авторизации пользователя без пароля, экрана входа или запроса разрешений. По данным исследователей из Enclave, корневая причина — отладочный флаг, оставленный включённым в продакшен-сборках. Организациям, использующим Microsoft 365 на Android, необходимо немедленно обновить приложения через Google Play и рассмотреть отзыв токенов обновления для потенциально скомпрометированных устройств.
Техническая суть уязвимости
Приложения Microsoft 365 на Android используют механизм единого входа (SSO): авторизация в одном приложении автоматически распространяется на остальные. Передача токенов между приложениями защищена проверкой, которая допускает обмен только с доверенными приложениями Microsoft. Как сообщают исследователи Enclave Янир Царими и Офек Левин, в общем SDK Microsoft присутствовал вызов setIsDebugMode(true), который отключал эту проверку в продакшен-сборках. Поскольку уязвимый код находился в разделяемом SDK, одна и та же ошибка воспроизводилась в нескольких приложениях.
Токены, доступные через эту уязвимость, — так называемые FOCI-токены (Family of Client IDs refresh tokens), которые Microsoft использует для SSO между своими приложениями. Эти токены обновления имеют длительный срок жизни, могут многократно использоваться, а трафик с их применением выглядит в логах как обычная активность. Для пользователя никаких видимых признаков компрометации не возникает.
Исследователи из Enclave создали рабочий прототип эксплойта, который через стороннее приложение без верификации извлекал токены и использовал их для чтения электронной почты жертвы.
Присвоенные CVE и оценки серьёзности
12 мая Microsoft опубликовала четыре бюллетеня безопасности, классифицировав уязвимости как спуфинг с нарушением контроля доступа (CWE-284):
- CVE-2026-41100 — Microsoft 365 Copilot для Android, CVSS 4.4
- CVE-2026-41101 — Microsoft Word для Android, CVSS 7.1
- CVE-2026-41102 — Microsoft PowerPoint для Android, CVSS 7.1
- CVE-2026-42832 — Microsoft Excel для Android, CVSS 7.7
Исправленная версия Word для Android — 16.0.19822.20190; все более ранние сборки уязвимы. Остальные приложения обновлены через те же выпуски в Google Play. По данным Enclave, аналогичная проблема затрагивала также Microsoft Loop и OneNote, однако отдельных CVE для них в майском выпуске не присвоено. Ни одна из уязвимостей не внесена в каталог CISA KEV, и публичных свидетельств эксплуатации до выхода патча не зафиксировано.
Оценка воздействия
Microsoft классифицирует уязвимости как локальный спуфинг, что подразумевает необходимость присутствия вредоносного приложения на устройстве жертвы. Это сужает вектор атаки по сравнению с удалённой эксплуатацией, однако для корпоративных Android-парков риск остаётся существенным. Сценарий атаки реалистичен: пользователь устанавливает приложение из сомнительного источника или даже из Google Play (вредоносные приложения периодически проходят модерацию), и оно тихо получает полный доступ к корпоративной почте, файлам, календарю и возможности отправлять сообщения от имени жертвы.
Особую опасность представляет природа FOCI-токенов: они переживают обновление приложений и продолжают действовать после установки патча. Это означает, что само по себе обновление не аннулирует токены, которые могли быть перехвачены ранее.
Практические рекомендации
- Обновите приложения: установите последние версии Word, PowerPoint, Excel, Microsoft 365 Copilot, Loop и OneNote из Google Play. Для Word убедитесь, что версия не ниже 16.0.19822.20190.
- Принудительное обновление через MDM: команды безопасности, управляющие корпоративными Android-устройствами, должны распространить обновления через систему управления мобильными устройствами и подтвердить, что на устройствах нет уязвимых сборок.
- Отзыв токенов обновления: для учётных записей на устройствах, где уязвимые версии приложений работали одновременно с недоверенными приложениями, рекомендуется отозвать токены обновления (refresh tokens) и принудительно инициировать повторную авторизацию. Это можно сделать через Azure AD / Entra ID.
- Аудит установленных приложений: проверьте устройства на наличие приложений, установленных из неофициальных источников, в период до применения патча.
Уязвимость FlagLeft — наглядный пример того, как единственная строка отладочного кода в разделяемом SDK может каскадно скомпрометировать целое семейство приложений. Приоритетное действие — обновление всех шести затронутых приложений Microsoft 365 на Android и отзыв FOCI-токенов для устройств, которые могли быть экспонированы до выхода патча.