![](https://habrastorage.org/getpro/habr/upload_files/812/820/311/812820311453ab565524e008adbf90f9.png)
В течение последних полутора лет исследователи из компании Quarkslab Дамиано Мелотти, Максим Росси Беллом и Филипп Тойвен изучали Titan M, чип безопасности, представленный Google в смартфонах Pixel, начиная с Pixel 3. Они опубликовали подробный отчёт об обнаруженной критической уязвимости.
Эксперты рассказали, что обнаруженная уязвимость получила идентификатор CVE-2022-20233. Её исправили с выходом июньских патчей для Android. Специалисты Google описывали этот баг как критическую проблему повышения привилегий.
Вышедший в 2018 году Titan M представляет собой SoC (system-on-a-chip), предназначенный исключительно для обработки конфиденциальных данных и процессов, таких как Verified Boot, шифрование диска, защита экрана блокировки, безопасные транзакции и многое другое.
Уязвимость связана не только с повышения привилегий. Её могут использовать для выполнения кода на чипе Titan M. Баг представляет собой проблему out-of-bounds записи, связанной с некорректной верификацией границ. В отчёте подчёркивается, что эксплуатация этой проблемы для локального повышения привилегий не требует взаимодействия с пользователем.
Quarkslab сообщил, что ошибку нашли во время фаззинга Titan M, когда заметили, что «прошивка пытается записать 1 байт в нераспределённую область памяти». Оказалось, что повторение этого действия провоцирует out-of-bounds запись и приводит к возникновению CVE-2022-20233.
Память Titan M полностью статична, поэтому исследователям пришлось напрямую подключиться к консоли UART, чтобы получить доступ к журналам отладки. После этого они создали эксплойт, позволиляющий считать произвольную память с чипа, похитить данные и получить доступ к загрузочному ПЗУ.
Исследователи уведомили Google об уязвимости в мае 2022 года. Компания выпустила патч в июне и выплатила экспертам $10 тыс. вознаграждения по программе Android Security Rewards. Quarkslab поблагодарил Google и спросил, по каким критериям её назначили, учитывая, что максимально возможное вознаграждение за находку уязвимости в Titan M составляет $1 млн.
После предоставления эксплойта, показывающего выполнение кода, компания увеличила награду до $75 тыс.